数字图像处理基础
客观世界物体反射或透射光的分布,是客观世界的反映人类视觉系统对图的响应,是人的大脑的印象或认识,是人的感觉的一种
数字图像由二维的元素组成,每个元素包含一个坐标以及响应值
数字图像处理是针对特定任务,提升图像的可理解性
起源:研究员 Gary Bradski在为英特尔时注意到MIT 的媒体实验室,拥有非常完备的内部公开的计算机视觉开发接口——代码从一个学生传到另一个学生手中,并且会给每个新来的学生一个有价值的由他们自己开发的视觉应用方案。
目标:为高级的视觉研究提供开源并且优化过的基础代码,不再需要重复造轮子。以提供开发者可以在此基础上进行开发的通用接口为手段传播视觉相关知识,这样代码有更强的可读性和移植性。以创造可移植的、优化过的免费开源代码来推动基于高级视觉的商业应用,这些代码可以自由使用,不要求商业应用程序开放或免费!
图像读取、显示、保存
import cv2
img=cv2.imread('dog.jpg')
img
cv2.imshow('Dog',img)
cv2.waitKey()
cv2.destroyAllWindows()
img1=cv2.imread('dog.jpg',cv2.IMREAD_GRAYSCALE)
img2=cv2.imread('dog.jpg',cv2.IMREAD_COLOR)
cv2.imshow('Dog2',img1)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite('littledoge.jpg',img)
图像像素处理
访问图像,修改像素
img=cv2.imread("dog.jpg")
cv2.imshow("before",img)
print("访问img[0,0]=",img[0,0])
print("访问img[0,0,0]=",img[0,0,0])
print("访问img[0,0,1]=",img[0,0,1])
print("访问img[0,0,2]=",img[0,0,2])
print("访问img[50,0]=",img[50,0])