# encoding:utf-8
import cv2
img = cv2.imread("../ts.png");
height = img.shape[0]
width = img.shape[1]
channel = img.shape[2]
# 算法
# R=255-R
# G=255-G
# B=255-B
# for i in range(height):
# for j in range(width):
# for k in range(channel):
# img[i,j,k] = 255 - img[i,j,k]
#
# 灰度化
# 算法Gray=(R*30+G*59+B*11)/100
# 效果好
# for i in range(height):
# for j in range(width):
# gray = (30*img[i,j,0]+59*img[i,j,1]+11*img[i,j,2])/100
# img[i, j, 0] = gray
# img[i, j, 1] = gray
# img[i, j, 2] = gray
# 灰度化
# 算法Gray=(R+G+B)/3;
# 效果太烂
# for i in range(height):
# for j in range(width):
# gray = (img[i,j,0]+img[i,j,1]+img[i,j,2])/3
# img[i, j, 0] = gray
# img[i, j, 1] = gray
# img[i, j, 2] = gray
# 灰度化
# 算法Gray=G(R/B)都可以
# 效果好
# for i in range(height):
# for j in range(width):
# img[i, j, 0] = img[i, j, 2]
# img[i, j, 1] = img[i, j, 2]
# img[i, j, 2] = img[i, j, 2]
#
# 二值化
# 算法
# 先灰度化,然后设置阈值,
# 大于这个的灰度值设置成255,小与这个值的设置成0
# 效果不好
# for i in range(height):
# for j in range(width):
# gray = (30 * img[i, j, 0] + 59 * img[i, j, 1] + 11 * img[i, j, 2]) / 100
# if gray > 100:
# img[i, j, 0] = 255
# img[i, j, 1] = 255
# img[i, j, 2] = 255
# else:
# img[i, j, 0] = 0
# img[i, j, 1] = 0
# img[i, j, 2] = 0
cv2.namedWindow("imageShow")
cv2.imshow("imageShow",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
原图:
注释代码的效果依次为:
转载请注明原文地址: https://ju.6miu.com/read-23902.html