[問題] OpenCV 處理 灰階

看板C_and_CPP作者 (ggBird)時間11年前 (2012/12/06 21:56), 編輯推噓3(308)
留言11則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VS2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OpenCV 問題(Question): 我想根據灰階矩陣來顯示成灰階圖 如 [1 ,22 ,32 ] [240 ,11 ,45 ] [47 ,58 ,100] 不過透過 cvShowImage() 卻都是全黑或是全白 不管更改灰階矩陣裡的資料,都沒法顯示 灰階? 不曉得很單純的顯示灰階矩陣該如何實做比較好? 謝謝 補上簡單的測試程式: const int ROW = 8; const int COL = 8; int _tmain(int argc, _TCHAR* argv[]) { // 簡單的灰階矩陣 float Array[ROW*COL]={100,2,3,4,255,6,255,255, 100,2,3,4,255,6,255,255, 100,2,3,4,255,6,255,255, 100,2,3,4,255,6,255,255, 100,2,3,4,255,6,255,255, 100,2,3,4,255,6,255,255, 100,2,3,4,255,6,255,255, 100,2,3,4,255,6,255,255}; // 建立 CvMat 物件 CvMat src32 = cvMat(ROW,COL,CV_32FC1,Array); cvNamedWindow( "Image", 1 ); // 我想秀灰階圖在視窗上 cvShowImage( "Image", &src32 ); cv::waitKey(0); cvDestroyWindow("Image"); return 0; } 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.163.198.49

12/06 22:23, , 1F
直接cout?
12/06 22:23, 1F

12/06 23:00, , 2F
opencv存圖片的型態有很多,你有弄對嗎?
12/06 23:00, 2F

12/06 23:03, , 3F
只要顯示在螢幕就可以了
12/06 23:03, 3F

12/06 23:04, , 4F
cout只能顯示灰階值,我想顯示圖
12/06 23:04, 4F

12/06 23:42, , 5F
直接把陣列的point丟進picBox的image內?
12/06 23:42, 5F

12/07 04:08, , 6F
你有code嗎?
12/07 04:08, 6F

12/07 08:08, , 7F
有用waitkey()?
12/07 08:08, 7F
※ 編輯: ggBird 來自: 203.163.198.49 (12/07 08:34)

12/07 13:49, , 8F
映像中opencv吃的是rgb,所以要用rgb轉灰階
12/07 13:49, 8F

12/07 17:23, , 9F
直接將影像型態轉成灰階就好,不用去館rgb
12/07 17:23, 9F

12/07 17:23, , 10F
ps. opencv是用bgr的,不是rgb
12/07 17:23, 10F

12/07 20:49, , 11F
最後我是傳入 IplImage::imageData 來達成
12/07 20:49, 11F
文章代碼(AID): #1GmAGF7m (C_and_CPP)