天天看點

heic(HEIF)格式圖像處理(五)--圖像灰階處理什麼是灰階圖像

什麼是灰階圖像

灰階數字圖像是每個像素隻有一個采樣顔色的圖像。這類圖像通常顯示為從最暗黑色到最亮的白色的灰階,盡管理論上這個采樣可以任何顔色的不同深淺,甚至可以是不同亮度上的不同顔色。灰階圖像與黑白圖像不同,在計算機圖像領域中黑白圖像隻有黑白兩種顔色,灰階圖像在黑色與白色之間還有許多級的顔色深度。

灰階圖像解釋

一幅完整的圖像,是由紅色、綠色、藍色三個通道組成的。紅色、綠色、藍色三個通道的縮覽圖都是以灰階顯示的。用不同的灰階色階來表示“ 紅,綠,藍”在圖像中的比重。通道中的純白,代表了該色光在此處為最高亮度,亮度級别是255。

通道是整個Photoshop顯示圖像的基礎。色彩的變動,實際上就是間接在對通道灰階圖進行調整。通道是Photoshop處理圖像的核心部分,所有的色彩調整工具都是圍繞在這個核心周圍使用的。

在計算機領域中,這類圖像通常顯示為從最暗黑色到最亮的白色的灰階,盡管理論上這個采樣可以任何顔色的不同深淺,甚至可以是不同亮度上的不同顔色。灰階圖像與黑白圖像不同,在計算機圖像領域中黑白圖像隻有黑色與白色兩種顔色;灰階圖像在黑色與白色之間還有許多級的顔色深度。但是,在數字圖像領域之外,“黑白圖像”也表示“灰階圖像”,例如灰階的照片通常叫做“黑白照片”。在一些關于數字圖像的文章中單色圖像等同于灰階圖像,在另外一些文章中又等同于黑白圖像。

我們可以通過下面幾種方法,将其轉換為灰階:

1.浮點算法:Gray=R*0.3+G*0.59+B*0.11

2.整數方法:Gray=(R*30+G*59+B*11)/100

3.移位方法:Gray =(R*76+G*151+B*28)>>8;

4.平均值法:Gray=(R+G+B)/3;

5.僅取綠色:Gray=G;

通過上述任一種方法求得Gray後,将原來的RGB(R,G,B)中的R,G,B統一用Gray替換,形成新的顔色RGB(Gray,Gray,Gray),用它替換原來的RGB(R,G,B)就是灰階圖了。

知道了什麼是灰階圖像和轉換方法後,我們來試試看:

QAction *pgreyScale = new QAction(QStringLiteral("灰階(&H)"));
connect(pgreyScale, &QAction::triggered, this, &heicExample::greyScale);
pMenu2->addAction(pgreyScale);
           

首先我們建立一個菜單按鈕,并綁定槽函數。

void heicExample::greyScale()
{
	QImage newImage(image.width(), image.height(), QImage::Format_ARGB32);
        QColor oldColor;

	for (int x = 0; x < newImage.width(); x++) {
		for (int y = 0; y < newImage.height(); y++) {
			oldColor = QColor(image.pixel(x, y));
			//QColor *pcolor = new QColor(oldColor.red(),oldColor.green(),oldColor.blue());
			int average = (oldColor.red() + oldColor.green() + oldColor.blue()) / 3;
			newImage.setPixel(x, y, qRgb(average, average, average));
		}
	}
	if (pixItem)
	{
		m_graphicsScene->removeItem(pixItem);   //将上一個圖元從場景中移除,重新添加新的圖元
		delete pixItem;
		pixItem = NULL;
	}
	image_save = newImage.copy();
	pixItem = new PixItem(QPixmap::fromImage(newImage));
	//将該圖元對象添加到場景中,并設定此圖元在場景中的位置為中心(0,0)
	m_graphicsScene->addItem(pixItem);
	pixItem->setPos(0, 0);
}
           

上述代碼主要使用了平均值法進行轉換的,先擷取圖像的每個像素點的RGB顔色,然後對RGB的值取平均數,最後通過函數setPixel設定圖像像素點色彩即可,别忘記儲存圖像。

heic(HEIF)格式圖像處理(五)--圖像灰階處理什麼是灰階圖像

效果圖獻上!

繼續閱讀