[問題] opencv顯示圖形

看板C_and_CPP作者 (安)時間13年前 (2010/09/15 23:41), 編輯推噓1(108)
留言9則, 3人參與, 最新討論串1/2 (看更多)
我現在有一個800*600的陣列,而且陣列的內容只有0/1 想要將陣列的資訊顯示在螢幕上,也就是出現800*600的圖片,而且圖片只有黑與白 我有爬文,從螢幕的輸出圖片可以用opencv來做 可是目前看到的範例都是直接load圖片 不知道有沒有方法可以直接把陣列的值,直接輸出呢? 還有,想將輸出的大小化為全螢幕(螢幕解析度也是800*600),要怎麼辦呢? 開發平台: windows vc++ 新手剛接觸,不知道要怎麼下手 麻煩板上的高手,給點提示,或是給我建議要用哪個指令 謝謝大家! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.76.61

09/16 00:42, , 1F
你可以創建一個800x600的IplImage,把值填進去
09/16 00:42, 1F

09/16 00:44, , 2F
或是先用一個cvMat存你的矩陣資料,然後轉成IplImage
09/16 00:44, 2F

09/16 00:44, , 3F
09/16 00:44, 3F

09/16 07:37, , 4F
IplImage* img = cvCreateImage(cvSize(800,600,8,1);
09/16 07:37, 4F

09/16 07:39, , 5F
跑個兩層或一層 for 迴圈 作以下這件事
09/16 07:39, 5F

09/16 07:41, , 6F
img->imageData[y*img->width+x] = (char)(value*255);
09/16 07:41, 6F

09/16 07:41, , 7F
value 等於 0或 1
09/16 07:41, 7F

09/16 07:42, , 8F
最後不用要記得釋放記憶體 cvReleaseImage(&img);
09/16 07:42, 8F

09/16 10:25, , 9F
謝謝你們,我試試看!!
09/16 10:25, 9F
文章代碼(AID): #1CaEaXX4 (C_and_CPP)
文章代碼(AID): #1CaEaXX4 (C_and_CPP)