思考
1、当数据量为定值时,在什么时候将采样优先考虑?什么情况下将量化优先考虑?为什么?
(1)、对于缓变的图像,应当更重视量化,采样可以一般重视。因为图像变化缓慢,采样精度不是很高也不会太影响精度。但是量化太低会容易出现假轮廓。
(2)、对于变化比较剧烈,细节程度比较高的图像,要优先考虑采样,因为采样不足会丢失细节、模糊,这样哪怕量化再好也无济于事了。
2、在图像量化中,有非均匀量化技术。当灰度级低的时候用它比较有效。但是为什么在灰度级数高时几乎不用?
非均匀量化的目的是为了减小量化误差,当本身灰度级数已经很高的时候,就不需要用这种方式来减少量化误差了。
3、红眼消除程序
Notice:注意这个程序用的HSI做红眼处理,其实效果并不好,随便看看就可。
import cv2
import math
src = cv2.imread('RedEye.jpg')
src_hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV)
for row in range(src_hsv.shape[0]):
for cow in range(src_hsv.shape[1]):
if (src_hsv[row,cow][0] > -math.pi/4 and src_hsv[row,cow][0] < math.pi/4 and src_hsv[row,cow][2] > 0.3):
src_hsv.itemset((row,cow,2),0)
dst=cv2.cvtColor(src_hsv, cv2.COLOR_HSV2BGR)
cv2.namedWindow('dst');
cv2.imshow('dst',dst);
cv2.waitKey()
cv2.destroyAllWindows()
4、图像伪彩色处理程序
src_2 = cv2.imread('Tayphone.jpg')
gray = cv2.cvtColor(src_2,cv2.COLOR_BGR2GRAY)
cv2.namedWindow('src')
cv2.namedWindow('colormap')
colormap=cv2.applyColorMap(src_2,cv2.COLORMAP_JET)
#cv2.imshow('src',src_2)
cv2.imshow('colormap',colormap)
cv2.waitKey()
cv2.destroyAllWindows()