aar+halcon示例程序演示了如何通过连接指纹线的断开部分来使用一致性增强差异(coherence_enhancing_diff)来增强指纹图像

By admin at 2019-03-10 • 0人收藏 • 293人看过

本贴halcon源程序位于

C:\Program Files\MVTec\HALCON-13.0\examples\hdevelop\Filters\Enhancement\coherence_enhancing_diff.hdev

原图:

image.png

增强之后效果:

image.png

移植到aardio中代码如下:

import win.ui;
/*DSG{{*/
mainForm = win.form(text="aardio form";right=928;bottom=554)
mainForm.add(
button={cls="button";text="增强差异";left=794;top=28;right=928;bottom=98;z=1};
picturebox={cls="picturebox";left=0;top=-241;right=789;bottom=555;z=2}
)
/*}}*/

import console
console.open()
//import com.activeX;
import com.lite;
import com;
HOperatorSetX = com.CreateObject("{6ebd90e2-d219-11d2-ade5-0000c00f4ef9}")

var WindowHandle;
var Image;
Image = HOperatorSetX.ReadImage( "C:\Users\popdes\Desktop\halcon1\res\fingerprint.png" );
var Width , Height = HOperatorSetX.GetImageSize( Image );
WindowHandle = HOperatorSetX.OpenWindow( 0 , 0 , mainForm.picturebox.width , mainForm.picturebox.height , mainForm.picturebox.hwnd,"transparent","");
HOperatorSetX.DispObj( Image , WindowHandle );
mainForm.button.oncommand = function(id,event){
	var ImageCED = HOperatorSetX.CoherenceEnhancingDiff( Image , 0.5 , 4 , 0.5 , 50 );
	HOperatorSetX.DispObj( ImageCED , WindowHandle );
}

mainForm.enableDpiScaling();
mainForm.show();

return win.loopMessage();

原型如下:

void HOperatorSetX.CoherenceEnhancingDiff(

[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX** ImageCED, [in] VARIANT Sigma, [in] VARIANT Rho, [in] VARIANT Theta, [in] VARIANT Iterations)

该函数的功能:实现图像的相干增强扩散(多尺度纹理增强)

coherence_enhancing_diff 执行对输入图像的各向异性扩散过程来增加图像所包含的图像结构的连贯性。特别是,不连续的图像边缘连接的扩散,不平滑的垂直于其主导方向

上面的sigma,rho都与平滑和模糊图像有关,并且这两个参数影响纹理是否连接不间断,是否纹理较光滑Theta是迭代步长 
Iterations 是迭代次数 


登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
Htmlayout皮肤Htmlayout皮肤引擎介绍
黑猫Aar教程网:简码编程
C大Aardio论坛:Aar爱好者论坛
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...