前言
在開發一個噴碼檢測軟件的時候碰到相機成像和hw窗體的大小不一致,hw太小顯示不完全成像的圖片,這使得成像不均勻,現場辨別起來比較不直觀,因此需要對其進行一個調整。
解決
省略掉讀取圖片的環節,我們只需要將我們設置的窗體大小和圖片大小的比例算出來然后在用setpart這個算子去設置即可。具體代碼如下:
read_image(Image_original,Imagepath)HOperatorSet.GetImageSize(Image_original, out hv_Width, out hv_Height);//自適應窗口double ratioWidth = (1.0) * hv_Width[0].I / hWindowControl_main.Width;double ratioHeight = (1.0) * hv_Height[0].I / hWindowControl_main.Height;HTuple row1, column1, row2, column2;if (ratioWidth <= ratioHeight){row1 = -(1.0) * ((hWindowControl_main.Height * ratioWidth) - hv_Height) / 2;column1 = 0;row2 = row1 + hWindowControl_main.Height * ratioWidth;column2 = column1 + hWindowControl_main.Width * ratioWidth;HOperatorSet.SetPart(hWindowControl_main.HalconWindow, row1, column1, row2, column2);}//顯示圖片HOperatorSet.DispObj(Image_original, hWindowControl_main.HalconWindow);
最后
顯示全面
搞定收工~