[問題] 我是c的初學者,我想請教如何用c語言來讀進全彩圖

看板C_and_CPP作者 (fatdog)時間15年前 (2010/03/05 20:12), 編輯推噓5(5022)
留言27則, 10人參與, 最新討論串1/1
如標題,還有就是要怎麼把全彩圖轉成灰階跟YUV? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.16.208

03/05 20:14, , 1F
1.先弄懂檔案存取 2.弄懂你要讀進來的檔案格式
03/05 20:14, 1F

03/05 20:24, , 2F
opencv
03/05 20:24, 2F

03/05 20:57, , 3F
會開檔就行了 有公式
03/05 20:57, 3F

03/05 21:15, , 4F
讀檔是"rb"
03/05 21:15, 4F

03/05 21:17, , 5F
灰階就是把R,G,B加起來取平均
03/05 21:17, 5F

03/05 21:51, , 6F
樓上不是喔,灰階是色彩的亮度的值啊.....
03/05 21:51, 6F

03/05 23:18, , 7F
ma~~原po也沒有明確的定義他要的灰階是什麼東西, 所以要
03/05 23:18, 7F

03/05 23:18, , 8F
怎麼轉換就有點自由心證, 雖然有常用的轉換公式就是了.
03/05 23:18, 8F

03/05 23:20, , 9F
基本上gray level/scale就是從全黑到全白的亮度階層表示
03/05 23:20, 9F

03/05 23:21, , 10F
想表達色彩的亮度, 常見的是YUV的Y, 也有(R+G+B)/3沒錯;
03/05 23:21, 10F

03/05 23:22, , 11F
但把R/G/B個別以灰階呈現其亮度也不算少見, 更不用提像
03/05 23:22, 11F

03/05 23:22, , 12F
HSV/HSI這種直接把亮度抽離的color space, 你還是可以用
03/05 23:22, 12F

03/05 23:23, , 13F
灰階來表達H/S這兩個channel. 所以也不用死板的去解釋:)
03/05 23:23, 13F

03/05 23:25, , 14F
又, 全彩圖轉灰階也不是很嚴謹的說法, 從描述, 是想從
03/05 23:25, 14F

03/05 23:26, , 15F
24bpp/32bpp的RGB影像轉成8bpp灰階與轉換到YUV space去.
03/05 23:26, 15F

03/05 23:27, , 16F
基本上, 這又牽涉到你的'圖'要開啟怎樣的檔案格式....
03/05 23:27, 16F

03/05 23:27, , 17F
gray (about)= 0.3R + 0.6G + 0.1B ??
03/05 23:27, 17F

03/05 23:28, , 18F
廢話這麼多在前面只是要說, 原po要做的功課恐怕不少:
03/05 23:28, 18F

03/05 23:28, , 19F
1. 如果用fopen/fread開檔, 讀取檔案內容.
03/05 23:28, 19F

03/05 23:29, , 20F
2. 了解你想開啟的圖檔格式去解析, 雖然通常是玩BMP啦.
03/05 23:29, 20F

03/05 23:30, , 21F
3. 查Color Space conversion方法, 灰階與(或)YUV格式.
03/05 23:30, 21F

03/05 23:30, , 22F
4. 想清楚你要如何呈現結果(寫進另一個圖檔然後自己用看
03/05 23:30, 22F

03/05 23:31, , 23F
圖軟體看?? 還是讓程式直接顯示圖片(Win prog)等.
03/05 23:31, 23F

03/05 23:32, , 24F
0. 找現有的程式套件, K手冊, 把上面的事一次全搞定XD
03/05 23:32, 24F

03/05 23:35, , 25F
修一些漏誤字: "從描述猜", "1. 如何用"....Orz
03/05 23:35, 25F

03/05 23:57, , 26F
你讓我想我的多媒體作業...
03/05 23:57, 26F

03/06 01:04, , 27F
opencv 是最簡單 最快的選擇
03/06 01:04, 27F
文章代碼(AID): #1BaFLAot (C_and_CPP)