一、什么是计算机视觉
计算机视觉就是用计算机编程,并设计算法来理解在这些图像中有什么。计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。计算机视觉的有力应用有图像搜索、机器人导航、医学图像分析、照片管理等。
二、图像处理的基础操作(基于opencv)
计算机视觉是一门对图像中信息进行自动提取的学科。相关基本操作包括图像的读入、显示、保存等等。
下面这段代码可以在计算机中显示image图像
通过cv2.imread(文件名相关路径【显示控制参数】)函数读入图像
通过cv.imshow(窗口名,图像名)函数显示图像,但是这里基于opencv进行图像处理,
需要加上相关约束:cv2.waitKey([delay]),如果没有这个限制,那么显示的图像会一闪而过,其中delay参数包括:
dealy=0,无限等待图像显示,直到关闭,也是waitKey的默认数值。
delay<0,等待键盘点击结束图像显示,也就是说当我们敲击键盘的时候,图像结束显示。
delay>0,等待delay毫秒后结束图像显示。
最后cv2.destroyAllWindows()表示把图像从内存中彻底删除。
import cv2
image=cv2.imread('path')
cv2.imshow('Image',image)
cv2.nameWindow('Demo Image')
cv2.waitKey(0)
cv2.destroyAllWindows()
三、图像分类
1.二值图像
二值图像,也称为黑白图像或二进制图像,每个像素只有两种可能的取值或等级状态,通常是黑色(0)和白色(255)。这种图像的数据类型通常为1个二进制位,存储和传输效率非常高。
二值图像常用于文字识别、线条图等场景,因为它只包含两种颜色并且数据量较小,处理速度快。其简单性使其在需要快速决策的系统中非常有用,如光学字符识别(OCR)。
2.灰度图像
灰度图像是一种没有色彩信息的图像,每个像素由一个量化的灰度值来描述,范围从0到255,表示从最暗的黑色到最亮的白色。灰度图像通常显示为从黑色到白色的不同深浅的灰色。
灰度图像常用于医学成像、遥感图像分析等领域,因为它能够有效地表示图像的亮度信息而忽略色彩,从而减少数据量并提高处理速度。此外,灰度图像在计算梯度、边缘检测等图像处理任务中也非常有用。
3.彩色图像
彩色图像使用红(R)、绿(G)、蓝(B)三个通道的颜色信息来描述每个像素的颜色。每个通道的取值范围通常为0-255,这意味着每个像素点可以由三个8位无符号整数表示,总共可以表示约1677万种颜色。
彩色图像适用于需要丰富色彩信息的场景,如照片、视频、艺术作品等。它能够提供比灰度图像更多的视觉信息,因此在许多领域都有广泛的应用。