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

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

本贴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 是迭代次数 


登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...