happybank
助理工程师
助理工程师
  • 最后登录2018-10-23
  • 发帖数101
  • 金币541枚
  • 贡献勋章0枚
  • 社区居民
阅读:2310回复:8

各位,不均匀照明的图像如何进行阈值分割

楼主#
更多 发布于:2015-07-20 16:25

图片:16-15-40.jpg

喜欢1

最新打赏:0人

happybank
助理工程师
助理工程师
  • 最后登录2018-10-23
  • 发帖数101
  • 金币541枚
  • 贡献勋章0枚
  • 社区居民
沙发#
发布于:2015-07-20 16:28
提取出中间的圆有什么好的办法吗
didiaoLX
工程师
工程师
  • 最后登录2018-09-19
  • 发帖数134
  • 金币864枚
  • 贡献勋章2枚
  • 喜欢达人
  • 社区居民
  • 忠实会员
板凳#
发布于:2015-07-20 16:48
happybank:提取出中间的圆有什么好的办法吗回到原帖
拟合圆
alphaxyd_1
工程师
工程师
  • 最后登录2018-09-13
  • 发帖数89
  • 金币1095枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
地板#
发布于:2015-07-20 20:31

图片:11111111.bmp

skw116
助理工程师
助理工程师
  • 最后登录2018-10-14
  • 发帖数79
  • 金币316枚
  • 贡献勋章0枚
4楼#
发布于:2015-07-20 21:54
我把代码给出来,供大家参考。
dev_close_window()
read_image (Image, 'F:/skw/image/37.jpg')
get_image_size(Image, Width, Height)
dev_open_window(0, 0, Width, Height, 'black', WindowHandle)
dev_set_color('red')
dev_set_draw('margin')
dev_set_line_width(1)
dev_display(Image)
edges_sub_pix(Image, Edges, 'deriche2_junctions',0.5,10,25)
select_contours_xld(Edges, SelectedContours, 'contour_length',500, 1000, -0.5, 0.5)
dev_clear_window()
dev_display(Image)
dev_display(SelectedContours)
fit_circle_contour_xld(SelectedContours, 'algebraic', -1, 0, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)
dev_clear_window()
dev_display(Image)
disp_circle(WindowHandle,Row, Column, Radius)
happybank
助理工程师
助理工程师
  • 最后登录2018-10-23
  • 发帖数101
  • 金币541枚
  • 贡献勋章0枚
  • 社区居民
5楼#
发布于:2015-07-21 17:27
就没有动态阈值的方法来提取吗?
jon_liu
高级工程师
高级工程师
  • 最后登录2018-10-19
  • 发帖数192
  • 金币1375枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
6楼#
发布于:2015-07-21 21:23
动态阈值来啦!好的话顶一下!
read_image (Image,'C:/Users/Administrator/Desktop/9_281_1acd4e77df70cc6.jpg')
threshold (Image, Regions, 71, 255)
connection (Regions, ConnectedRegions)
select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)
reduce_domain (Image, SelectedRegions, ImageReduced)
sobel_dir (ImageReduced, EdgeAmplitude, EdgeDirection, 'sum_abs',3)
nonmax_suppression_dir (EdgeAmplitude, EdgeDirection, ImageResult, 'nms')
mean_image (ImageResult, ImageMean, 19,19)
dyn_threshold (ImageResult, ImageMean, RegionDynThresh, 5, 'light')
dilation_circle (RegionDynThresh, RegionDilation, 2)
connection (RegionDilation, ConnectedRegions1)
select_shape (ConnectedRegions1, SelectedRegions2, ['area','roundness'], 'and', [8169.12,0.8511], [25181,1])
happybank
助理工程师
助理工程师
  • 最后登录2018-10-23
  • 发帖数101
  • 金币541枚
  • 贡献勋章0枚
  • 社区居民
7楼#
发布于:2015-07-22 09:02
jon_liu:动态阈值来啦!好的话顶一下!
read_image (Image,'C:/Users/Administrator/Desktop/9_281_1acd4e77df70cc6.jpg')
threshold (Image, Regions...
回到原帖
找个方法比较强大实用,谢谢了
jing105630
工程师
工程师
  • 最后登录2018-07-26
  • 发帖数195
  • 金币755枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
8楼#
发布于:2015-07-23 15:38
read_image (FitCircle, 'F:/training/fit_Circle.jpg')
mean_image(FitCircle,ImageMean,50,50)
dyn_threshold(FitCircle,ImageMean,RegionDynThresh,5,'light')
*fill_up(RegionDynThresh,RegionFillUp)
connection(RegionDynThresh,ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 10471.4, 35054)
dev_display(FitCircle)
dev_display(SelectedRegions)
gen_contour_region_xld(SelectedRegions,Contours,'border_holes')
select_contours_xld(Contours,SelectedContours,'contour_length',500,1299,-0.5,0.5)


dev_display(FitCircle)
dev_display(SelectedContours)
fit_circle_contour_xld(SelectedContours,'algebraic',-1,0,0,3,2,Row,Column,\
                       Radius,StartPhi,EndPhi,PointOrder)
dev_set_color('green')
dev_display(FitCircle)
gen_circle_contour_xld(ConCircle,Row,Column,Radius,0,6.28318,'positive',1)


有点啰嗦了
游客

返回顶部
支付

欢迎打赏,请选择打赏金额

  • 1元
  • 6元
  • 10元
  • 66元
  • 100元

支付即代表同意《本站支付协议》 有疑问请联系客服