opencv中有关图像处理的名词

一.滤波:提出图像中不必要的频率段,用于防止或抑制干扰。

1.线性滤波:方框滤波,均值滤波(与方框滤波很相似),高斯滤波

2.非线性滤波:中值滤波(模糊程度最大),双边滤波(处理后与原图很相似)

二.图像深度:表示像素点取值范围的位数。

     1bit:说明像素点取值为0和1,也是说图像只能时黑白两种颜色;

      24bit:最常见的RGB三通道,24 = 3*8;每个像素取值范围为[0,2*24);每个通道占8bit,及[0,255),

             所以RGB表示像素为(R,G,B)即((0-255),(0-255),(0-255))

三. 膨胀(dilate)与腐蚀(erode)

1.dilate:求局部最大值,在opencv中会扩大白色高亮部分的面积,腐蚀与之相反

四。边缘检测:识别图像中变化明显的特征,一般根据阙值进行舍弃与选取像素点

canny边缘检测


int main(int argc, char *argv[])
{
	Mat img = imread("../1.jpg", 1);
	if (!img.data) { printf("Oh,no,读取img图片文件错误~! \n"); return -1; }
	namedWindow("【1】原画");
	imshow("【1】原画", img);
	auto src = img.clone();//拷贝一份原图像
	Mat dst,edge,gray;
	dst.create(src.size(), src.type());//设置目标图像与原图像同类型和大小的矩阵

	//高级边缘检测过程
	//
	//1.将原图转换为灰度图像
	cvtColor(src, gray, COLOR_BGR2GRAY);
	imshow("第一步,原图像转换为灰度图像", gray);//去掉彩色效果的图,但不是黑白图
	//2.降噪
	blur(gray, edge, Size(3, 3));
	imshow("第二步,灰度图降噪", edge);//降噪之后的图,略显柔和

	//3.运行canny算子
	Canny(edge, edge, 3, 9, 3);

	imshow("使用算子得到的边缘图edge", edge);//边缘线
	//dst像素设置为0
	dst = Scalar::all(0);
	imshow("全为0的dst", dst);//全为黑色的图
	//将canny算子输出的边缘图作为掩码,来将原图拷贝到dst中
	src.copyTo(dst, edge);
	imshow("最终效果图", dst);//彩色的边缘检测图

	waitKey(0);
	return 0;
}

五。霍夫变换:识别线,直角坐标系中每个点,对应仿射坐标系中一条三角曲线

1)霍夫线变换

2)霍夫园变换

六。重映射:把图像中某一个位置的像素放到另一个图像指定位置

七。仿射变换:实现图像的旋转,平移,缩放

 

 

你可能感兴趣的:(OpenCV)