1.导入测试图片并创建二维图片数组
img = cv2.imread("text.jpg")
h, w = img.shape[:2]
img1 = np.zeros((h,w),dtype=np.uint8)
测试图片如下图:
2.一般灰度化
for i in range(h):
for j in range(w):
img1[i,j] = img[i,j][0] / 3 + img[i,j][1] / 3 + img[i,j][2] / 3
通过对RGB彩色图片三通道的灰度值求均值能得到那一个像素的一般灰度值,得到一般灰度化图片:
3.最大灰度化
for i in range(h):
for j in range(w):
img1[i,j] = max(img[i,j][0], img[i,j][1], img[i,j][2])
取三种颜色亮度的最大值作为灰度图的亮度:
4.最小灰度化
for i in range(h):
for j in range(w):
img1[i,j] = min(img[i,j][0], img[i,j][1], img[i,j][2])
取三种颜色亮度的最小值作为灰度图的亮度:
5.加权平均灰度化
for i in range(h):
for j in range(w):
img1[i,j] = img[i,j][0] * 0.1 + img[i,j][1] * 0.6 + img[i,j][2] * 0.3
这是一个蓝灰度占比0.1,绿色灰度占比0.6,红色灰度占比0.3的加权平均灰度图:
6.二值化
x = img[i,j][0] / 3 + img[i,j][1] / 3 + img[i,j][2] / 3
if 50 <= x <= 175:
img1[i,j] = 255
else:
img1[i, j] = 0
使灰度大于50小于175的像素灰度设置为白,其余灰度值的像素设置为黑:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。