目次
1. 画像の階調変化の原理
カラー画像の各ピクセルの色は、R、G、B の 3 つの成分によって決まり、各成分の値の範囲は 0 ~ 255 です。グレースケール イメージは、R、G、B の同じ 3 つのコンポーネントを持つ特別なカラー イメージです。グレースケール イメージには 2 つのアルゴリズムがあります。
1) 各ピクセルの R、G、B コンポーネントの平均値を見つけ、この平均値をこのピクセルの 3 つのコンポーネントに割り当てます。
2) RGB と YUV 色空間間の変化関係に従って、明るさ Y と R、G、B の 3 つの色成分の間に対応関係を確立します: Y=0.3R+0.59G+0.11B、グレー値を表現します。この明るさの値を持つ画像の。
OpenCV には、グレースケール操作を直接完了するために使用できる関連関数 cvtColor があります。img をソース画像行列、myimg1 をグレースケールされた宛先画像行列とします。myimg2 はコピーされたイメージです。
2.Pythonコード
import cv2
import numpy as np
fn = r"C:\Users\LIHAO\Pictures\Saved Pictures\wallhaven-1pdkkw.jpg"
if __name__ == "__main__":
img = cv2.imread(fn)
sp = img.shape
print(sp)
# 获取图像大小
# height
sz1 = sp[0]
# width
sz2 = sp[1]
# 显示图像大小
print('width:%d\nheight:%d'%(sz2,sz1))
# 创建一个窗口并显示图像
cv2.namedWindow('img')
cv2.imshow('img', img)
# 复制图像矩阵,生成与源图像一样的图像,并显示
myimg2 = img.copy()
cv2.namedWindow('myimg2')
cv2.imshow('myimg2', myimg2)
# 复制并转换为灰度图像,并显示
myimg1 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.namedWindow('myimg1')
cv2.imshow('myimg1', myimg1)
cv2.waitKey()
cv2.destroyAllWindows()
3. サンプル写真
4. 取得した画像サイズ
(1080, 1920, 3)
幅:1920
高さ:1080
五、ランニング効果図