私はopenCV 3.0のpythonで作業しています。最大の白画素領域を見つけるために、最初に閾値処理されたグレー画像を2値画像に割り当てる。PythonのOpenCV findContours
import cv2
import numpy as np
img = cv2.imread('graimage.png')
img = cv2.resize(img,(400,500))
gray = img.copy()
(thresh, im_bw) = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY)
derp,contours,hierarchy = cv2.findContours(im_bw,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
cnts = max(cnts, key=cv2.contourArea)
ただし、次のようにエラーが表示されます。
cv2.error: ..../opencv/modules/imgproc/src/contours.cpp:198: error: (-210) [Start]FindContours supports only CV_8UC1 images when mode != CV_RETR_FLOODFILL otherwise supports CV_32SC1 images only in function cvStartFindContours.
画像は8ビットの符号なしの文字ですか?または、 'img = imread(' grainimage.png '、0)'と書いてグレースケールに変換することもできます。 – user3515225
ありがとう、それは働いた。 – Kaira