HALCON示例程序color_pieces.hdev通過MLP訓練器對彩色棋子進行分類識別

HALCON示例程序color_pieces.hdev通過MLP訓練器對彩色棋子進行分類識別;分別在彩色圖像下與灰度圖像下進行,從而產生對比。

示例程序源碼(加注釋)

  • 關于顯示類函數解釋
    dev_update_off ()
    dev_close_window ()
    dev_open_window (0, 0, 557, 416, ‘black’, WindowHandle)
    set_display_font (WindowHandle, 14, ‘mono’, ‘true’, ‘false’)
    dev_set_draw (‘margin’)
  • 初始化
    ImageRootName := ‘color/color_pieces_0’
    Regions := [‘yellow’,‘pink’,‘blue’,‘background’]
    Highlight := [‘goldenrod’,‘magenta’,‘cyan’]
    gen_empty_obj (Classes)
    for Mode := 0 to 1 by 1
    dev_set_color (‘black’)
    read_image (Image, ImageRootName + ‘0’)
    • 生成灰度三通道圖像
      if (Mode == 1)
      • rgb1_to_gray - 將RGB圖像轉換為灰度圖像。
      • rgb1_to_gray(RGB圖:灰度圖 ::);轉換公式:灰色= 0.299 *R+ 0.587 *G+ 0.114 *B。
        rgb1_to_gray (Image, GrayImage)
      • compose3 - 將3個圖像轉換為三通道圖像。
      • compose3(圖1,圖2,圖3:多通道圖像 ::)
        compose3 (GrayImage, GrayImage, GrayImage, Image)
        dev_display (Image)
        disp_message (WindowHandle, ‘Train and apply the classes again on gray images’, ‘window’, 12, 12, ‘black’, ‘false’)
        disp_continue_message (WindowHandle, ‘black’, ‘true’)
        stop ()
        endif
        if (Mode == 0)
      • 指定顏色類
        for I := 1 to 4 by 1
        dev_display (Image)
        dev_display (Classes)
        disp_message (WindowHandle, [‘Drag rectangle inside ’ + Regions[I - 1] + ’ color’,‘Click right mouse button to confirm’], ‘window’, 24, 12, ‘black’, ‘false’)
        draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
        gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
      • 帶有concat_obj解釋的貼子注意和union1的區別
        concat_obj (Classes, Rectangle, Classes)
        endfor
        endif
    • 創建MLP分類器并添加訓練樣本;關于MLP分類器解釋的例子
      create_class_mlp (3, 7, 4, ‘softmax’, ‘normalization’, 3, 42, MLPHandle)
      add_samples_image_class_mlp (Image, Classes, MLPHandle)
      disp_message (WindowHandle, ‘Training…’, ‘window’, 100, 12, ‘black’, ‘false’)
      train_class_mlp (MLPHandle, 400, 0.5, 0.01, Error, ErrorLog)
      for J := 0 to 3 by 1
      read_image (Image, ImageRootName + J)
      if (Mode == 1)
      rgb1_to_gray (Image, GrayImage)
      compose3 (GrayImage, GrayImage, GrayImage, Image)
      endif
      classify_image_class_mlp (Image, ClassRegions, MLPHandle, 0.5)
      dev_display (Image)
      disp_message (WindowHandle, ‘Looking for 4 game pieces of each color …’, ‘window’, 24, 12, ‘black’, ‘false’)
      dev_set_line_width (2)
      for Figure := 1 to 3 by 1
      * copy_obj - 復制HALCON數據庫中的圖標對象。
      * copy_obj(要復制對象:復制出的對象,開始索引號,對象數量:)
      copy_obj (ClassRegions, ObjectsSelected, Figure, 1)
      * 分割定義域
      connection (ObjectsSelected, ConnectedRegions)
      * 通過面積篩選區域
      select_shape (ConnectedRegions, SelectedRegions, ‘area’, ‘and’, 400, 99999)
      * 對區域進行計數
      count_obj (SelectedRegions, Number)
      dev_set_color (Highlight[Figure - 1])
      dev_display (SelectedRegions)
      OutString := Regions[Figure - 1] + ': ’ + Number + ’ ’
      dev_set_color (‘green’)
      disp_message (WindowHandle, OutString, ‘window’, 24 + 30 * Figure, 12, ‘black’, ‘false’)
      if (Number != 4)
      disp_message (WindowHandle, ‘Not OK’, ‘window’, 24 + 30 * Figure, 120, ‘red’, ‘false’)
      else
      disp_message (WindowHandle, ‘OK’, ‘window’, 24 + 30 * Figure, 120, ‘green’, ‘false’)
      endif
      endfor
      if (J < 3)
      disp_continue_message (WindowHandle, ‘black’, ‘true’)
      stop ()
      endif
      endfor
      endfor
      dev_clear_window ()
      dev_display (Image)
      Message := ‘The game pieces cannot be classified reliable on’
      Message[1] := ‘gray images because the gray values of the’
      Message[2] := ‘game pieces cannot always be distinguished from’
      Message[3] := ‘the gray values of the background.’
      disp_message (WindowHandle, Message, ‘window’, 12, 12, ‘black’, ‘true’)

處理思路

這個例子是將三通道的RGB圖像使用MLP分類器進行分類,分別對灰度圖像與彩色圖像進行了訓練與識別,對比發現還是彩色圖像分類較為準確,因為灰度圖像不能很好地分割出棋子與背景。

后記

大家有什么問題可以向我提問哈,我看到了第一時間回復,希望在學習的路上多多結交良師益友。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255201.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255201.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255201.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

無人駕駛汽車之爭本田為何未戰先敗

摘要 : 本田汽車的研發部門對于汽車雖然理解深刻&#xff0c;但從整體而言&#xff0c;本田的造車理念還停留在上個時代&#xff0c;在未來的無人駕駛競爭中&#xff0c;本田已經有未戰先啊敗的苗頭。 百度百家The BIG Talk硅谷站連續5小時的高密度頭腦風暴&#xff0c;果然讓人…

理解git結構與簡單操作(四)合并分支的方法與策略

接上節&#xff0c;此時的dev分支與master分支的進度就不一樣了&#xff0c;所以需要將dev分支與master分支同步。這里需要的就是合并分支的操作&#xff0c;大家應該都知道用git merge或者git rebase。 git merge merge&#xff0c;即「合并」。 fast-forward 當出現我們上面圖…

HALCON示例程序color_segmentation_pizza.hdev披薩肉餅識別。

HALCON示例程序color_segmentation_pizza.hdev披薩肉餅識別。 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () dev_close_window () read_image (Image, ‘color/pizza_01’) get_image_size (Image, Width, Height) dev_open_window (0,…

攝像機標定

利用攝像機所拍攝到的圖像來還原空間中的物體。在這里&#xff0c;不妨假設攝像機所拍攝到的圖像與三維空間中的物體之間存在以下一種簡單的線性關系&#xff1a;[像]M[物],這里&#xff0c;矩陣M可以看成是攝像機成像的幾何模型。 M中的參數就是攝像機參數。通常&#xff0c;這…

Linux下Tomcat重新啟動

在Linux系統下&#xff0c;重啟Tomcat使用命令操作的&#xff01; 首先&#xff0c;進入Tomcat下的bin目錄 cd /usr/local/tomcat/bin 使用Tomcat關閉命令 ./shutdown.sh 查看Tomcat是否以關閉 ps -ef|grep java 如果顯示以下相似信息&#xff0c;說明Tomcat還沒有關閉 root …

大數據和人工智能的關系是什么?

何為大數據&#xff1f;何為人工智能&#xff1f; 大數據&#xff0c;百度百科上是這么定義的&#xff0c;指無法在一定時間范圍內用常規軟件工具進行捕捉、管理和處理的數據集合&#xff0c;是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率…

【2017-03-09】SQL Server 數據庫基礎、四種約束

一、數據庫和內存的區別 數據庫&#xff1a;一些存儲在硬盤上的數據文件 內存&#xff1a;計算機臨時存儲的一些數據 二、常用數據庫 .Net - SQL Server PHP - MySql Java - Oreacl 三、SQL Server使用方法 1、新建數據庫 右鍵點擊“數據庫”&#xff0c;點擊“新建數據庫”。在…

HALCON示例程序color_simple.hdev在HSV空間篩選黃色線

HALCON示例程序color_simple.hdev在HSV空間篩選黃色線 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_close_window () dev_open_window (0, 0, 640, 480, ‘black’, WindowHandle) for i : 1 to 2 by 1 read_image (Image, ‘cable’ i) 將彩色圖片…

張正友標定法 【計算機視覺學習筆記--雙目視覺幾何框架系列】

三、致敬“張正友標定” 此處“張正友標定”又稱“張氏標定”&#xff0c;是指張正友教授于1998年提出的單平面棋盤格的攝像機標定方法。張氏標定法已經作為工具箱或封裝好的函數被廣泛應用。張氏標定的原文為“A Flexible New Technique forCamera Calibration”。此文中所提到…

SQL基礎三

關系數據庫操作語言 對關系數據庫進行操作標準語言是所謂的結構化查詢語言SQL&#xff0c;和其他程序語言不一樣的是&#xff0c;它是非過程語言。 SQL采用自然英語的結構&#xff0c;比較容易上手&#xff0c;目前SQL已經有了ANSI標準&#xff0c;哥哥數據庫廠商除了SQL語法外…

HTTP狀態碼詳解

HTTP狀態碼介紹 createTime--2016年9月24日09:41:48 參考鏈接&#xff1a;http://www.w3school.com.cn/tags/html_ref_httpmessages.asp概括&#xff1a;   1字開頭&#xff1a;消息。信息性狀態碼&#xff0c;代表請求已被接受&#xff0c;需要繼續處理。&#xff08;接受的…

HALCON示例程序connection.hdev分割連通域

HALCON示例程序connection.hdev分割連通域 示例程序源碼&#xff08;加注釋&#xff09; read_image (Image, ‘mreut’) 二值化 threshold (Image, Region, 190, 255)分割連通域 connection (Region, ConnectedRegions)使用面積進行篩選 select_shape (ConnectedRegions, S…

一張圖學習常見this的指向

在寫JS代碼時&#xff0c;this的出場頻率頗高&#xff0c;擔負了傳遞對象&#xff0c;作用域等等功能&#xff0c;堪稱全能超人。 但是this復雜多變&#xff0c;初學的時候想弄清楚并不簡單&#xff0c;繞著繞著就迷路了。“我是誰&#xff1f;我從哪來&#xff1f;我要到哪去&…

HALCON示例程序count_fish_sticks.hdev魚棒完整性檢測

HALCON示例程序count_fish_sticks.hdev魚棒完整性檢測 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () dev_close_window () read_image (Image, ‘food/fish_stick_package_01’) get_image_size (Image, Width, Height) dev_open_windo…

關于相機標定的問題答復網友

網友snow2012720 我剛開始學習計算機視覺的雙目三維重建內容&#xff0c;感覺好多內容不懂&#xff0c;看到你的博文&#xff0c;了解到你對雙目標定三維重建這些有深入的研究&#xff0c;您是過來人了&#xff0c;能否幫忙給我在學習標定匹配三維重建過程中給予指點&#xff…

轉:ORACLE的JDBC連接方式:OCI和THIN

oracle的jdbc連接方式:oci和thin oci和thin是Oracle提供的兩套Java訪問Oracle數據庫方式。 thin是一種瘦客戶端的連接方式&#xff0c;即采用這種連接方式不需要安裝oracle客戶端,只要求classpath中包含jdbc驅動的jar包就行。thin就是純粹用Java寫的ORACLE數據庫訪問接口。oci是…

軟工網絡15個人閱讀作業2——提問題

提出問題 快速通讀教材《構建之法》&#xff0c;并參照提問模板&#xff0c;提出5個問題。 問題一&#xff1a; p83有一段話&#xff1a; 兩人在一起合作&#xff0c;自然會出現不同意見&#xff0c;每個人都有自己的想法&#xff0c;在兩個人平等合作的情況下&#xff0c;不存…

HALCON示例程序count_pellets.hdev分割豆子,基本形態學的使用

HALCON示例程序count_pellets.hdev分割豆子&#xff0c;基本形態學的使用 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () read_image (Image, ‘pellets’) dev_close_window () get_image_size (Image, Width, Height) dev_open_window…

絕對路徑VS相對路徑

絕對路徑&#xff1a;不必贅述&#xff0c;就是從盤符開始寫直到找到你所需要的文件為止&#xff0c;把所有的目錄寫完整即可。但是在做網站的時候絕對不推薦用絕對路徑&#xff0c;因為不可能服務器中的路徑和在做設計時候所用的電腦的路徑一致&#xff0c;也不可能說在服務器…

四、極大似然參數估計

四、極大似然參數估計 此篇博文&#xff0c;玉米將和大家分享一下“張氏標定”除幾何推導外的另外一大精髓&#xff1a;參數估計。 張教授在大作“A Flexible New Technique for Camera Calibration”中的原話如下&#xff1a;” The above solution is obtained through minim…