卷积模糊图像,图像边缘,增强图像常见卷积算子:Robert、sobel、拉普拉斯算子代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc,char ** argv)
{
&nbs
阈值(threshold)简单地说就是把图像分割的一个标尺。阈值类型1.阈值二值化(threshold binary)大于阈值取最大值,小于阈值取最小值。2.阈值反二值化(threshold binary Interval)3.截断(truncate)超过阈值和阈值相等,否则为0.4.阈值取零(threshold to zero)小于阈值取0,大于的不变。5.阈值反取零(threshold to zero interval)小于阈值的不变,大于的取零。寻找阈值 实现最佳阈值THRESH_OTSU
金字塔原理图像金字塔是一个图像集合,集合中所有的图像都源于同一个原始图像,而且通过对原始图像连续降采样获得。在图像处理中,常常会调整图像大小,最常见的就是放大和缩小。一个图像金字塔是一系列图像组成,最底下一张是图像尺寸最大,最上方的图像尺寸最小,从空间上从上向下看就像一个古埃及的金字塔。高斯金字塔–用来对图像进行降采样拉普拉斯金字塔–用来重建一张图片根据他的上层降采样图片。高斯金字塔:高斯金字塔是从底向上,逐层采样得到。采样之后图像大小是原始图像MxN的M/2xN/2,就是对原图像删除偶数行和列
在opencv\sources\samples下面提供了很多的官方例程,是学习OpenCV的最好的资源。视频教程地址:https://www.bilibili.com/video/av17748771/?p=12感谢贾志刚老师的视频教程。开运算闭运算形态学梯度:膨胀减去腐蚀顶帽(top hat)原图像与开操作之间的差值图像。黑帽:闭操作图像和原图像之间的差值图像。提取直线:提取步骤输入彩色图像—转化为灰度图像—转化为二值图像—定义结构元素—开操作提取水平与垂直线代码示例:#include&nbs
在opencv\sources\samples下面提供了很多的官方例程,是学习OpenCV的最好的资源。视频教程地址:https://www.bilibili.com/video/av17748771/?p=11感谢贾志刚老师的视频教程。程序:#include<iostream>
#include<opencv2/core/core.hpp>
#include<highgui/highgui.hpp>
#include <opencv2/
在opencv\sources\samples下面提供了很多的官方例程,是学习OpenCV的最好的资源。视频教程地址:https://www.bilibili.com/video/av17748771/?p=9感谢贾志刚老师的视频教程。图像模糊原理Smooth/Blur 是图像处理中最简单和常用的操作之一。使用该操作的原因之一就是为了给图像预处理时候减低噪声。使用Smooth/Blur操作背后是数学的卷积。通常这些卷积算子都是线性操作,所以通常叫做线性滤波。假设有6x6的图像像素矩阵。卷积过程:
在opencv\sources\samples下面提供了很多的官方例程,是学习OpenCV的最好的资源。视频教程地址:https://www.bilibili.com/video/av17748771/?p=8感谢贾志刚老师的视频教程。绘制形状使用cv::Point与cv::ScalarPoint表示2D平面的一个点x,yp = Point(10,8);Scalar表示四个元素的向量Scalar(a,b,c); //a=blue,b=green,c=red表示RGB三个通道绘制线 cv::lin
在opencv\sources\samples下面提供了很多的官方例程,是学习OpenCV的最好的资源。理论:图像变换可以看做如下:像素变换–点操作邻域变换–区域操作其中图像亮度和对比度属于像素变换–点操作α是对比度调节参数,β是调节亮度。一些主要API:Mat new_image = Mat::zeros(image.size(),image.type()); //创建一个空白图像saturate_cast< uchar>(value)确保值大小范围是0~255之间Mat.at&l
理论–线性混合操作线性混合理论:两幅图像的每个像素都进行加权相加。α的取值范围是0~1。相关API线性混合API:void cv::addWeighted(inputArray src1,double alpha,InputArray src2,double gamma,outputArray dst,int dtype = -1);代码演示#include<iostream>
#include<opencv2/core/core.hpp>
#include<h
修改像素值灰度图像img.at< uchar>(y,x) = 128;RGB三通道图像img.at< Vec3b>(y,x)[0]=128;//blueimg.at< Vec3b>(y,x)[1]=128;//blueimg.at< Vec3b>(y,x)[2]=128;//blue空白图像img=Scalar(0);ROI选择Rect r(10,10,100,100);Mat smalling=img(r);Vec3b与Vec3FVec3b对应三