pythonを用いて葉脈の筋を抽出するというのがうまくいきません.
ハフ変換を用いて葉脈だけを抽出するにはどうしたらよいのでしょうか.
該当コードです.
コード import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('youmyaku04.nitika.png') dst = cv2.fastNlMeansDenoisingColored(img,None,10,10,7,21) plt.subplot(121),plt.imshow(img) plt.subplot(122),plt.imshow(dst) gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) edges = cv2.Canny(gray,1,1,apertureSize = 5) lines = cv2.HoughLines(edges,1,np.pi/520,95) print(len(lines)) for line in lines: for rho,theta in line: a = np.cos(theta) b = np.sin(theta) x0 = a*rho y0 = b*rho x1 = int(x0 + 50*(-b)) y1 = int(y0 + 90*(a)) x2 = int(x0 - 50*(-b)) y2 = int(y0 - 90*(a)) cv2.line(img,(x1,y1),(x2,y2),(0,0,255),2) cv2.imwrite('houghlines2.jpg',img)
回答3件
あなたの回答
tips
プレビュー