前提・実現したいこと
上記の画像に対して、OpenCVのfindcontours関数を用いて輪郭検出(出力:contours=12)となるようなプログラムを作成したいです。
斜め線の太さが2ドット以上あれば、望んだ結果が得られるのですが、今回の例では斜め線の太さが1ドットしかなく、findcontoursではうまく検出できないようです。
線の太さは1ドットのままで、輪郭を検出できるような方法があれば教えて頂きたいです。
もし無ければ、代替案も教えて頂けると幸いです。
該当のソースコード
import matplotlib.pyplot as plt
import cv2
import numpy as np
%matplotlib inline
import sys
import math
img = cv2.imread('sen.png')
img2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(img2,cmap='gray')
plt.show()
image, contours, hierarchy=cv2.findContours(img2, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
print("{} contours.".format(len(contours)))
print("{} hierarchy.".format(len(hierarchy)))

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/06 05:25