最佳解答者
請問如何將攝影機的圖即時轉換成灰階影像

問題
-
我想將攝影機傳回來的畫面即時轉換成灰階圖片
我的程式碼如下:
它跑到pic_2.SetPixel(i, j, Color.FromArgb(gray2, gray2, gray2));
就會出現
對於具有索引像素格式的影像不支援 SetPixel
請問是為什麼呢?
this.webCamPictureBox1.Image = this.webCamPictureBox1.Image; Bitmap pic_1 = (Bitmap)this.webCamPictureBox1.Image; for (int i = 0; i < webCamPictureBox1.Width; i++) { for (int j = 0; j < webCamPictureBox1.Height; j++) { Color color = pic_1.GetPixel(i, j);//第一張灰階 int gray = (int)(color.R * 0.299 + color.G * 0.587 + color.B * 0.114); pic_1.SetPixel(i, j, Color.FromArgb(gray, gray, gray)); } } //this.webCamPictureBox2.Image = this.webCamPictureBox1.Image; Bitmap pic_2 = (Bitmap)this.webCamPictureBox2.Image; for (int i = 0; i < webCamPictureBox2.Width; i++) { for (int j = 0; j < webCamPictureBox2.Height; j++) { Color color2 = pic_2.GetPixel(i, j);//第二張灰階 int gray2 = (int)(color2.R * 0.299 + color2.G * 0.587 + color2.B * 0.114); pic_2.SetPixel(i, j, Color.FromArgb(gray2, gray2, gray2)); } }
解答
所有回覆
-
參考 既有討稐 [ [ VB2005 ] 製造256灰階圖片 ]
在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
-
因為indexed Bitmap格式不同, 必須將圖片資料複製到陣列, 處理完, 再複製回圖片資料, 請參考:How to set pixel into bitmap with Pixel format of Format8bppIndexed ?