衆所周知,VisionPro是一款功能強大的機器視覺軟件,用於開發和部署機器視覺應用程序。其中ImageConvertTool是其中一個重要的工具,用於圖像轉換和處理。本文將介紹如何使用ImageConvertTool進行圖像轉換,並探討其背後的原理。
寫之前先吐槽一下,引出自己的原因,哈哈哈(當然一個小小的轉換工具不足以寫一篇博文,放在這裏就當自己的小日記吧)。
爲什麼要寫這一篇博文呢,正常VisionPro 的 Documentation裏面都有啊。但是實際上在最新版的VisionPro仍然和之前的版本有一些差異。
根據官方的介紹,VisionPro 9.8和VisionPro 10.2之間存在以下一些區別:
-
功能和性能改進:通常,軟件的新版本會引入新的功能和性能改進。VisionPro 10.2可能在功能上比9.8版本更豐富,並提供更好的性能和效率。
-
支持的硬件和操作系統:VisionPro的不同版本可能對不同的硬件設備和操作系統提供不同程度的支持。VisionPro 10.2可能支持更新的硬件設備和操作系統,並提供更好的兼容性。
-
用戶界面和工具改進:新版本的軟件通常會改進用戶界面和工具,以提供更直觀和易用的操作體驗。VisionPro 10.2可能在用戶界面和工具方面進行了改進,使得開發和調試視覺應用程序更加方便和高效。
-
Bug修復和穩定性改進:軟件的新版本通常會修復舊版本中存在的錯誤和問題,並提供更好的穩定性和可靠性。VisionPro 10.2可能修復了9.8版本中已知的錯誤,並提供更穩定的運行環境。
當然我們也可以直接看官網update information,我這裏只copy一點點
但是我想說的是,從使用體驗來看,實際上VisionPro10.x的版本比較VisionPro9.x及其以前的版本來說,差異主要就是沒有example了。雖然最新頁面更新了,看起來更加高大上了,但是隱藏了之前的教程案例,確實不太友好。
截圖對比如下(上圖:VisionPro9.x, 下圖VisionPro10.x):
就是因爲VisionPro 10.x 沒有例子,所以對於有些算子,我們直接加載數據,再接算子的時候,會報錯,這時候本文的主角ImageConvertTool就排上用場了,無論是加載的數據是灰度圖(需要轉換爲RGB的),還是彩色圖(需要轉換爲灰度圖),這個算子都可以。下面介紹一下ImageConvertTool。
1,什麼是ImageConvertTool?
ImageConvertTool是VisionPro提供的一個圖像處理工具,它允許用戶對圖像進行各種格式轉換和預處理操作。無論是從一個圖像格式轉換爲另一個格式,還是對圖像進行增強、濾波、幾何變換等操作,ImageConvertTool都能滿足用戶的需求。
下圖就是ImageConvertTool算子的界面:
2,使用ImageConvertTool 進行圖像轉換
2.1 打開ImageConvertTool
在VisionPro軟件中,找到ImageConvertTool並打開它。通常,它可以在主菜單或工具欄中找到。
2.2 加載原始圖像
通過點擊工具界面上的“Load Image”按鈕,選擇並加載你想要轉換的原始圖像。ImageConvertTool支持多種常見的圖像格式,如JPEG、BMP、PNG等。
加載數據有兩種方式,一種如下所示:
連接相機,如下所示:
2.3 選擇目標格式和參數設置
在ImageConvertTool的界面上,選擇你希望將原始圖像轉換成的目標格式。例如,如果你想將JPEG圖像轉換爲BMP格式,選擇BMP作爲目標格式。
此外,你還可以根據需要設置其他參數,例如圖像質量、色彩空間、圖像大小等。這些參數根據你的具體需求而定。
圖像轉換工具接受以下類型的彩色圖像:
-
色調、飽和度、強度 (HSI)
VisionPro 支持 Image24PlanarColor 圖像,其中三個 8 位顏色平面代表:
- 色調:以 [0,360] 度之間的角度的形式描述顏色
- 飽和度:描述顏色被白光稀釋了多少,範圍在 [0,1] 之間
- 強度:表示 [0,1] 之間範圍內的亮度,其中 0 表示全黑,1 表示全白
-
紅、綠、藍 (RGB)
VisionPro 支持具有三個 8 位顏色平面的 Image24PlanarColor 圖像,代表 RGB 顏色格式的紅色、綠色和藍色值。
-
Bayer
VisionPro 支持使用 Bayer 濾波器處理的 Image8Grey 圖像。
大多數圖像轉換操作產生一個 Image8Grey 圖像,代表彩色圖像的灰度強度。下面根據界面介紹:
2.3.1 運行參數
使用運行參數選項卡在圖像轉換選項之間進行選擇
參數從以下選擇其一:
2.4.2 區域
使用區域選項卡確定該工具是分析整個圖像還是指定區域:
默認情況下,該工具會分析整個 Current.InputImage。選擇矩形以使用以下參數指定輸入圖像的特定矩形區域:
- 選定空間名稱選擇用於處理圖像的座標空間。
- 選擇模式:選擇輸入區域的尺寸是從圖像的原點還是從區域的中心開始測量。
當然設定特定區域,圖像也只獲取特定區域的數據,並且傳入下一個圖像中也是特定的區域。
2.4 執行圖像轉換
點擊“Convert”按鈕,ImageConvertTool將開始執行圖像轉換操作。在轉換過程中,你可以在進度條上觀察到轉換的進度(當然這個很快)。
2.5 保存轉換後的圖像
當轉換完成後,你可以通過點擊“Save Image”按鈕來保存轉換後的圖像。選擇保存的文件路徑和文件名,並選擇你希望的保存格式。或者可以進行下一個算子的計算。
當你右擊圖像,即可發現保存按鈕:
3,ImageConvertTool的工作原理
ImageConvertTool的工作原理基於圖像處理算法和編碼技術。它首先讀取原始圖像數據,並根據用戶指定的目標格式進行解碼和編碼。在轉換過程中,ImageConvertTool可以對圖像進行各種處理操作,例如調整亮度、對比度、色彩平衡,以及應用濾波器、增強算法等。
VisionPro 支持使用圖像轉換工具將圖像格式從一種類型轉換爲另一種類型。例如,您的視覺應用程序可能會採集彩色圖像,您需要將顏色格式轉換爲 8 位灰度格式,便於不支持彩色圖像的視覺工具進行分析。
個人覺得就是日常的RGB轉灰度圖,具體的原理還需測試分析,這裏就不再展開。如果需要實現此算子。我後面會補充原理。
4,ImageConvertTool的實際應用
4.1 加載RGB圖像(通過ImageConvertTool算子轉灰度圖)
這裏補充一下,比如說VisionPro的算子Sobel和PatInspect就需要灰度圖,如果我們輸入彩色圖,即RGB圖像。
如果我使用PatInspect算子,那麼會出現如下的異常,這時候就需要我們的ImageConvertTool算子了。我們通過ImageConvertTool算子對圖像進行轉換。截圖如下:
我們添加ImageConvertTool算子後,就OK了。如下:
4.2 加載灰度圖像(通過ImageConvertTool算子轉彩色圖)
再比如,我添加一張灰度圖:
假設我將算子更改爲ColorMatchTool了,顯而易見,ColorMatchTool算子是對彩色圖像進行處理的,而我直接加載灰度圖會報錯,報錯信息我已經截圖如下:
下面將灰度圖轉換爲RGB即可使用,轉換的話需要進入ImageConvertTool裏面設定一下:
設定後,我們可以看到圖像顏色爲彩色了,這樣算子就可以使用了。