本人初学opencv在网上找到的例子,读取图片然后转成二值图。
本地安装的openCV4.5.5
原图如下
c++代码如下:
_img = "xxxxx"
Mat src, bw, horizontal, vertical;
char* filename = (char*)_img.c_str();
src = imread(filename, IMREAD_GRAYSCALE);
if (src.empty())
{
return;
}
imshow("src", src);
adaptiveThreshold(~src, bw, 255, cv::ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 15, -2);
imshow('bw', bw);
效果截图
而翻译成python代码如下:
_img = 'xxxxx'
src = cv2.imread(_img,cv2.IMREAD_GRAYSCALE)
if src is None:
print('图片读取失败')
cv2.imshow("1 src",src)
# 自适应阈值
bw = cv2.adaptiveThreshold(src,255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 15, -2)
cv2.imshow('bw', bw)
效果如图:
请高手指点,为何出现如此大差异。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)