Tôi đang làm việc trong python trên openCV 3.0. Để tìm vùng pixel trắng lớn nhất, trước tiên là tất cả các hình ảnh màu xám được đánh dấu thành hình ảnh nhị phân.OpenCV findContours trong python
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)
Nhưng nó hiển thị lỗi như sau.
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.
Hình ảnh của bạn 8 bit Unsigned char? Hoặc bạn có thể viết 'img = imread (' grainimage.png ', 0)' để chuyển đổi thành thang độ xám. – user3515225
Cảm ơn bạn, nó đã hoạt động. – Kaira