1 灰度 最重要 2灰度是基础 3 识别要具有实时性
定点比浮点计算快; 加减 比 乘除计算快
r0.299+g0.587+b*0.114
对精度要求高的可以乘以100 1000 10000等等
import cv2
import numpy as np
img = cv2.imread('image0.jpg',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
# RGB R=G=B = gray (R+G+B)/3
dst = np.zeros((height,width,3),np.uint8)
for i in range(0,height):
for j in range(0,width):
(b,g,r) = img[i,j]
b = int(b) #浮点转定点
g = int(g)
r = int(r)
#gray = r*0.299+g*0.587+b*0.114
#gray = (r*1+g*2+b*1)/4 #先整体乘以4,再除以4,相当于先左移2位,后右移两位
gray = (r+(g<<1)+b)>>2 #乘以2变为左移1位,除以4变为右移2位
dst[i,j] = np.uint8(gray)
cv2.imshow('dst',dst)
cv2.waitKey(0)
网友评论