0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Halcon圖像糾正編程

機(jī)器人及PLC自動化應(yīng)用 ? 來源:機(jī)器人及PLC自動化應(yīng)用 ? 2023-06-02 14:24 ? 次閱讀

3d436ea8-fc13-11ed-90ce-dac502259ad0.png

*關(guān)閉當(dāng)前顯示窗口,清空屏幕

dev_close_window ()

*讀取測試圖像

read_image (Image_display, 'data/display.jpg')

*將圖像轉(zhuǎn)化為灰度圖像

rgb1_to_gray (Image_display, GrayImage)

*獲取圖像的尺寸

get_image_size(Image_display,imageWidth, imageHeight)

*新建顯示窗口,適應(yīng)圖像尺寸

dev_open_window (0, 0, imageWidth, imageHeight, 'black', WindowHandle1)

dev_display (GrayImage)

*初始化角點(diǎn)坐標(biāo)

XCoordCorners := []

YCoordCorners := []

*閾值處理,提取較暗的區(qū)域

threshold(GrayImage,DarkRegion,0, 80)

*分離不相連的區(qū)域

connection (DarkRegion, ConnectedRegions)

*選擇面積最大的暗色區(qū)域,即屏幕區(qū)域

select_shape_std (ConnectedRegions, displayRegion, 'max_area', 70)

*裁剪屏幕區(qū)域

reduce_domain (GrayImage, displayRegion, displayImage)

*創(chuàng)建邊緣輪廓

gen_contour_region_xld (displayRegion, Contours, 'border')

*將輪廓分割為邊

segment_contours_xld (Contours, ContoursSplit, 'lines', 5, 4, 2)

*獲取邊的數(shù)量

count_obj (ContoursSplit, Number)

*存儲每條邊的起點(diǎn)位置

for index:=1 to Number by 1

select_obj(ContoursSplit, ObjectCurrent, index)

*擬合每條邊

fit_line_contour_xld (ObjectCurrent, 'tukey', -1, 0, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)

*存儲每條邊的頂點(diǎn)x坐標(biāo)

tuple_concat (XCoordCorners, RowBegin, XCoordCorners)

*存儲每條邊的頂點(diǎn)y坐標(biāo)

tuple_concat (YCoordCorners, ColBegin, YCoordCorners)

endfor

* 投影變換給四個(gè)特征點(diǎn)與校正后的坐標(biāo)建立關(guān)聯(lián)

XOff:= 100

YOff:= 100*imageHeight/imageWidth

hom_vector_to_proj_hom_mat2d (XCoordCorners, YCoordCorners, [1,1,1,1], [YOff,YOff,imageHeight-YOff,imageHeight-YOff], [XOff,imageWidth-XOff,imageWidth-XOff,XOff], [1,1,1,1], 'normalized_dlt', HomMat2D)

*投影變換

projective_trans_image (Image_display, Image_rectified, HomMat2D, 'bilinear', 'false', 'false')

* 顯示校正結(jié)果

dev_display (Image_rectified)

3da57e7c-fc13-11ed-90ce-dac502259ad0.png






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7408

    瀏覽量

    163428
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    795

    瀏覽量

    58312
  • dev
    dev
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    3284

原文標(biāo)題:Halcon 圖像糾正編程

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    NI視覺圖像轉(zhuǎn)halcon圖像

    labview采集圖片可用用它轉(zhuǎn)halcon,就可用使用halcon算子處理了
    發(fā)表于 02-21 16:35

    labview聯(lián)合Halcon,實(shí)時(shí)采集的圖像應(yīng)該如何傳入?

    labview聯(lián)合Halcon,實(shí)時(shí)采集的圖像應(yīng)該如何傳入?
    發(fā)表于 06-25 00:57

    halcon與LabVIEW Vision混合編程接口問題

    各位大大, 之前一直在用LabVIEW Vision做圖像處理,最近在學(xué)習(xí)halcon,halcon里面的一些算子的功能比較強(qiáng)大,想通過halcon和Vision的混合
    發(fā)表于 06-29 11:13

    Labview里面使用Halcon的函數(shù)。 方式為:直接。運(yùn)行后綴為hdev 的Halcon程序

    Labview里面使用Halcon的函數(shù)。 方式為:直接。運(yùn)行后綴為hdev 的Halcon程序Halcon是由MVTec這個(gè)公司開發(fā)的。這家公司對自己有非常清晰的定位,他們就是圖像
    發(fā)表于 08-15 16:38

    求助:labview與halcon之間的對象轉(zhuǎn)換

    labview的視覺模塊的識別率確實(shí)沒有halcon的厲害,但是labview寫程序卻比halcon+.NET方便,于是在labview中調(diào)用halcon編程。有個(gè)問題需要向各位請教
    發(fā)表于 08-24 09:32

    labview調(diào)用halcon程序如何傳入?yún)?shù)?

    各位大神,labview調(diào)用halcon的hdev程序時(shí),如何給halcon傳入?yún)?shù)?比如傳入圖像,labview如何獲取這個(gè)傳入?yún)?shù)的接口?比如我的hdev程序是這樣的我需要傳入Image給hdev程序,但是不知道在labvi
    發(fā)表于 05-12 22:43

    基于HALCON圖像拼接的文物修復(fù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    設(shè)計(jì)了一種基于機(jī)器視覺軟件MVTec HALCON圖像拼接技術(shù)的文物修復(fù)系統(tǒng).該系統(tǒng)首先對圖像進(jìn)行去噪,分割等預(yù)處理,然后利用Harris算法進(jìn)行角點(diǎn)檢測提取特征點(diǎn),接著檢測出的角點(diǎn)經(jīng)
    發(fā)表于 06-06 10:52 ?0次下載

    Halcon9.0編程技術(shù)詳解

    Halcon9.0編程技術(shù)詳解Halcon9.0編程技術(shù)詳解
    發(fā)表于 12-22 15:20 ?0次下載

    糾正10個(gè)有關(guān)編程的常見誤區(qū)

    編程行業(yè),一直流傳著很多誤區(qū)。下面讓我們一起來糾正10個(gè)有關(guān)編程的常見誤區(qū),以幫助編程初學(xué)者或有志成為程序員的人,更理性地認(rèn)識編程。
    的頭像 發(fā)表于 02-02 16:02 ?3301次閱讀

    HALCON項(xiàng)目應(yīng)使用哪種編程語言

    HALCON項(xiàng)目應(yīng)使用哪種編程語言提供參考 不易的選擇選擇編程語言是并不容易,各有優(yōu)劣和學(xué)習(xí)成本。很難在單個(gè)博客文章中對其進(jìn)行詳細(xì)說明。我們將盡力強(qiáng)調(diào)C ++和C#之間的一些差異-評估和決定必須由公司或其
    的頭像 發(fā)表于 08-18 10:36 ?6813次閱讀

    HALCON機(jī)器視覺軟件有哪些優(yōu)點(diǎn)?

    視覺集成開發(fā)環(huán)境。它節(jié)約了產(chǎn)品成本,縮短了軟件開發(fā)周期——HALCON靈活的架構(gòu)便于機(jī)器視覺,醫(yī)學(xué)圖像圖像分析應(yīng)用的快速開發(fā)。在歐洲以及日本的工業(yè)界已經(jīng)是公認(rèn)具有最佳效能的Machine Vision軟件。
    的頭像 發(fā)表于 08-25 16:03 ?1.1w次閱讀

    labview聯(lián)合halcon編程方法

    經(jīng)過全網(wǎng)學(xué)習(xí),終于入門了labview聯(lián)合halcon編程方法,希望能幫到大家
    發(fā)表于 05-23 15:22 ?28次下載

    如何用halcon和C#進(jìn)行聯(lián)合開發(fā)

    ? ? ? ?Halcon作為一款強(qiáng)大的圖形圖像處理軟件,可對工作中遇到的各種圖像進(jìn)行處理,同時(shí)還有功能強(qiáng)大的算子以及很全面的例程,作為進(jìn)行處理的主程序是非常不錯(cuò)的。但是,halcon
    的頭像 發(fā)表于 05-22 14:52 ?8541次閱讀
    如何用<b class='flag-5'>halcon</b>和C#進(jìn)行聯(lián)合開發(fā)

    基于Halcon圖像處理的表面缺陷檢測方案

    本文采用Halcon圖像處理軟件來搭建工業(yè)標(biāo)簽表面缺陷檢測的檢測系統(tǒng),主要檢測過程為:利用工業(yè)相機(jī)對傳送帶上待檢的工業(yè)標(biāo)簽進(jìn)行圖像采集和預(yù)處理,最后通過模板配準(zhǔn)檢測出缺陷所在的區(qū)域。
    發(fā)表于 07-13 12:19 ?1337次閱讀
    基于<b class='flag-5'>Halcon</b><b class='flag-5'>圖像</b>處理的表面缺陷檢測方案

    Halcon和Opencv圖像處理庫對比

    在工業(yè)視覺領(lǐng)域?qū)儆诮?jīng)常使用的軟件,相對于opencv的開源精神Halcon屬于商業(yè)非開源項(xiàng)目并且收費(fèi)。Halcon起源于德國在國內(nèi)的工業(yè)視覺領(lǐng)域市場占用率遙遙領(lǐng)先。
    的頭像 發(fā)表于 12-20 10:30 ?899次閱讀