如何將二維矩陣換成RGB格式

我有試過6i正式和8.5試用版,我目前已經搞定讀灰階圖片raw檔到一個二維矩陣

但是沒辦法正確顯示到前板上,因為顯示元件認識的是RGB格式的矩陣

我的二維矩陣套入他會認為只有B的矩陣,R、G為0

所以會變成全藍的顯示…orz

以灰階來講,就是把RGB三個參數設成相同就會是灰階

所以現在卡在不知道要怎麼把一般的二維矩陣轉成顯示元件認識的RGB formate

顯示元件目前用的是6i版本的true color元件

謝謝


p.s.我沒有其他硬體設備,所以只是用影像處理的方式讀取電腦中的圖片raw檔

     lee757839573.4521296296

[QUOTE=lee7578]

但是沒辦法正確顯示到前板上,因為顯示元件認識的是RGB格式的矩陣

我的二維矩陣套入他會認為只有B的矩陣,R、G為0

所以會變成全藍的顯示.....orz

[/QUOTE]

我先問你兩個問題:

  1. 你的顯示元件是用哪一個icon?
  2. 你有使用Vision模組(軟體)嗎?

 

你的程式是不是有部分為以下的圖片呢?

![](upload://jpGALYMbjBvVk53qnvgcojCwpxT.jpeg)

由於原圖不是他預設的jpeg.bmp等常見格式,所以我只是用讀檔的方式讀入矩陣

其中那個雖然是讀I16但我已經有對裡面修正讓他變成讀取U8

但是顯示部分那個元件就套用的怪怪的

應該有辦法可以把U8矩陣轉成RGB格式吧?

我不太確定你的意思 所以我做成下圖這樣

![](upload://vHyTSnejLdgXg4HRq5AnAnGR6Ak.png)

![](upload://rxQQN9M29ysE8q39M1NbZxLAHI5.png)

raw格是就是一連串的bit一直下去

彩色raw就是rrrrrrrrggggggggbbbbbbbb  24bit是一個像素

可是因為沒有u24的選項,所以我不知道要用什麼存他

然後就算假裝是RGB格式在做加減時他會變成

           rrrrrrrrggggggggbbbbbbbb

        + 000000000000000000000001

而不是+ 000000010000000100000001  所以顏色會跑掉離開灰階

我有想說是不是不要讀彩色灰階,直接讀灰階也就是gggggggg 8bit為一像素

但是這種u8矩陣在假裝RGB時會只有藍色顯示,也就是一張偏藍色的lena

請問我這個功能應該怎麼寫比較好?

謝謝

 

p,s,我有叫出他認識的RGB格式看過,他是一個三維的矩陣

     也就是說在每個(X,Y)的格子裡,還有小箭頭可以拉

     所以我想說如果我可以把一個二維的u8矩陣,相疊三次變成每個格子裡可以看到

     三個數值,這樣應該就是他認識的RGB格式了

          

 

你的意思是這樣嗎 像下圖一樣變成藍色的u8矩陣

可是我加上調節亮度的bar 效果好像怪怪的...

![](upload://pMVAwQKkGIQtFzKZwV5ZmW9raGs.png)

假如只是要調整各顏色的亮度 對比 Gamma值 可以用IMAQ ColorBCGLookup

可以避免圖像與矩陣轉換處理的繁雜程序

不過要自行編寫相關的功能的話 可能得詢問其他先進...

不知道是不是你的要求:RAW2RGB.vi (2008/6/2 modified)
(這是8.2版的)

DennisKao39601.6856712963

[QUOTE=lee7578]

恕刪...
所以現在卡在不知道要怎麼把一般的二維矩陣轉成顯示元件認識的RGB formate

顯示元件目前用的是6i版本的true color元件

謝謝


p.s.我沒有其他硬體設備,所以只是用影像處理的方式讀取電腦中的圖片raw檔

     [/QUOTE]

請問你的目的是取出RGB值調整後再將影像重新輸出是嗎?

在做彩色影像前,你要先了解電腦將彩色依序以alpha、R、G 和 B 組成一組數據,即32 bit。

你可以利用Split Number![](upload://8KUpHh4Lw9uZ9T6SZkune4oK4kG.jpeg) 和Join Numbers 拆解組合RGB,如下圖

因習慣自己寫需要sub VI,印象中LabVIEW很像也有類似功能,這要請比較熟悉的先進幫忙,供參考。

請問一下 如何對各別的RGB矩陣內的pixels相加?

我的意思是 比方說 R=[100 200 300]   相加後 R=100+200+300

我試過用sum的icon  可是好像不行

可以請高手幫忙一下嗎? 非常感激