19,471
社区成员




想获得矩形区域四个点的坐标,还得使用findContours……
read_image (Image, 'C:/Users/zsq/Desktop/TXG03_0083590211_150728-180534/新建文件夹/QQ图片20150812104514.png')
rgb1_to_gray(Image, GrayImage)
invert_image(GrayImage, ImageInvert)
bin_threshold(ImageInvert, Region)
erosion_circle(Region, RegionErosion, 3.5)
fill_up(RegionErosion, RegionFillUp)
connection(RegionFillUp, ConnectedRegions)
select_shape(ConnectedRegions, SelectedRegions, 'width', 'and', 150, 99999)
union1(SelectedRegions, RegionUnion)
smallest_rectangle1(SelectedRegions, Row1, Column1, Row2, Column2)
reduce_domain(ImageInvert, RegionUnion, ImageReduced)
源码有本事别腐蚀啊。
[quote=引用 9 楼 kuangbao9 的回复:] [quote=引用 7 楼 zshuaiqin 的回复:]试着去做了一下,放心肯定不是c++算法,因为代码不超过10行就做出来了。 我只说思路,自己去写c++代码吧
原图
灰度图
自适应二值化
腐蚀,用圆形腐蚀(半径3.5)
区域填充完毕
选择要选择的区域 (按高度100就行)
ok 了
[quote=引用 7 楼 zshuaiqin 的回复:]试着去做了一下,放心肯定不是c++算法,因为代码不超过10行就做出来了。 我只说思路,自己去写c++代码吧
原图
灰度图
自适应二值化
腐蚀,用圆形腐蚀(半径3.5)
区域填充完毕
选择要选择的区域 (按高度100就行)
ok 了
试着去做了一下,放心肯定不是c++算法,因为代码不超过10行就做出来了。 我只说思路,自己去写c++代码吧
原图
灰度图
自适应二值化
腐蚀,用圆形腐蚀(半径3.5)
区域填充完毕
选择要选择的区域 (按高度100就行)
ok 了
我就不信不用OpenCV中提到的膨胀、腐蚀相关算法。
我脑洞大开一下...如果是很多这样的图像...可不可以用模板匹配,感觉条形码和背景差距很大..做出一个模板后应该能识别后续图像的条形码位置.....