Trevan
管理员
管理员
  • 最后登录2017-01-19
  • 发帖数989
  • 金币17675枚
  • 贡献勋章5枚
阅读:25564回复:286

Halcon清晰度检测实例

楼主#
更多 发布于:2013-08-08 00:35
此实例通过使用Halcon实现5种清晰度算法函数:
1. 方差算法函数;
2. 拉普拉斯能量函数;
3. 能量梯度函数;
4. Brenner函数;
5. Tenegrad函数;
测试效果如下图片;找到峰值对应的那张图,确实是最清晰的那张;使用直方图显示清晰度结果,如果有更好的方法,那就跟帖回复吧。
此实例有HalconBBS群友提供!
 

图片:清晰度.jpg


 
*evaluate_definition的使用例子
*使用halcon自带的图片
*实现了五种评价函数,
*选择算子的Method值,可以观察不同评价函数的效果。
read_image (Image, 'pcb_focus/pcb_focus_telecentric_106')
dev_update_off ()
dev_close_window ()
dev_open_window_fit_image (Image, 0, 0, 752, 480, WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_color ('lime green')
dev_set_line_width (3)
Ret:=[]
get_image_size(Image, Width, Height)
for Index := 1 to 121 by 1
    read_image (Image, 'pcb_focus/pcb_focus_telecentric_'+Index$'03d')
    
    evaluate_definition (Image, 'Tenegrad', Value)
    
    dev_display (Image)
    Ret:=[Ret,Value]
endfor
*使用直方图显示清晰度结果,如果有更好的方法,那就跟帖回复吧
VMax:=max(Ret)
VMin:=min(Ret)
GRet := 100*(Ret-VMin)/(VMax-VMin)
gen_region_histo(Region, Ret, 255, 255, 1)
*找到峰值对应的那张图,确实是最清晰的那张。
qxd:=find(Ret, max(Ret))
read_image (GoodImage, 'pcb_focus/pcb_focus_telecentric_'+qxd$'03d')
dev_display (GoodImage)
dev_display (Region)
evaluate_definition函数代码如下:
对不起!您没有登录,请先登录论坛.

 
1. 隐藏的内容是需要个人积分达到规定的数量才可以看的到,不需要购买!,请勿乱下结论!
2. 请不要骂我和抱怨,这是别人的劳动成果,自己发些有质量的帖子赚些金币的付出,对于每个人都是公平的;
3. 付出和分享,你才能得到更多,受到尊重!想不劳而获的;。。。。
4.看完以上三条想发表高见的,请此考10秒后再进行。
捐助网站请点击 http://www.ihalcon.com/read-6416.html
cxchenxingcool
工程师
工程师
  • 最后登录2016-08-31
  • 发帖数39
  • 金币1038枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
沙发#
发布于:2013-08-08 08:37
只能苦逼的赚金币啦。。。
hewenyuan
助理工程师
助理工程师
  • 最后登录2016-03-22
  • 发帖数33
  • 金币236枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
板凳#
发布于:2013-08-08 16:02
mark下,金币够了过来看看
冰块脸小紫英
助理工程师
助理工程师
  • 最后登录2015-10-26
  • 发帖数26
  • 金币418枚
  • 贡献勋章0枚
  • 社区居民
地板#
发布于:2013-08-08 17:25
恩恩,好贵,金币够了再来看
wanglu9566
高级工程师
高级工程师
  • 最后登录2016-10-21
  • 发帖数25
  • 金币1525枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
4楼#
发布于:2013-08-08 21:11
mark,好好赚钱,好好学习,知识改变显示.
longwu87
助理工程师
助理工程师
  • 最后登录2014-10-10
  • 发帖数20
  • 金币334枚
  • 贡献勋章0枚
5楼#
发布于:2013-08-08 22:09
其实大家可以顺着 这个思路,自己想想看   即使达不到效果  也必有所得
bee球球
助理工程师
助理工程师
  • 最后登录2014-01-06
  • 发帖数39
  • 金币465枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
6楼#
发布于:2013-08-09 09:52
我也还是赚金币了回来在学习吧~~不知道还差多少,以后也是会有这样的限制…………
不断的学习中,希望自身有所提高。
小斌、、、
技术员
技术员
  • 最后登录2016-05-31
  • 发帖数6
  • 金币124枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
7楼#
发布于:2013-08-09 17:39
先保存,有钱了就可以看了。。。
yangyang
助理工程师
助理工程师
  • 最后登录2016-10-11
  • 发帖数71
  • 金币307枚
  • 贡献勋章0枚
  • 社区居民
8楼#
发布于:2013-08-10 14:33
想学习学习,得先存钱
kevin_tu
高级工程师
高级工程师
  • 最后登录2016-11-28
  • 发帖数22
  • 金币1362枚
  • 贡献勋章0枚
  • 社区居民
9楼#
发布于:2013-08-10 21:26
先保存,有钱了就可以看了。。。
18300709716
助理工程师
助理工程师
  • 最后登录2014-03-09
  • 发帖数35
  • 金币197枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
10楼#
发布于:2013-08-14 22:45
赚取金币,100我来啦
levizhang
高级工程师
高级工程师
  • 最后登录2016-12-12
  • 发帖数81
  • 金币1441枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
11楼#
发布于:2013-08-16 09:03
清晰图像,具有锐利的边缘。可以通过边缘灰度变化率来反应,对每一幅图像都计算边缘灰度变化率,并保存在value中,所有图像的边缘变化率存放在Ret中,寻找Ret的峰值所对应的图像就是最清晰的图像。
ARM+FPGA+DSP远离PC
hewenyuan
助理工程师
助理工程师
  • 最后登录2016-03-22
  • 发帖数33
  • 金币236枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
12楼#
发布于:2013-08-19 15:47
想看了,可惜还是金币不够
panqi
初学者
初学者
  • 最后登录2014-02-20
  • 发帖数7
  • 金币33枚
  • 贡献勋章0枚
13楼#
发布于:2013-09-07 12:36
很多事是等有了钱才能看,能做,叫那么贵也不知道值不值。
haijie0707
禁止发言
禁止发言
  • 最后登录2013-09-24
  • 发帖数14
  • 金币58枚
  • 贡献勋章0枚
  • 社区居民
14楼#
发布于:2013-09-07 19:13
用户被禁言,该主题自动屏蔽!
上一页
游客

返回顶部