上一讲:【opencv4】opencv视频教程 C++(opencv教程)2、加载,修改,保存图像
[opencv_C++] 入门强推!!!【B站最全】
矩阵的掩膜操作

获取图像像素指针

像素范围处理saturate_cast<uchar>
  
函数调用filter2D功能

代码示例
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main(int argc, const char* argv[]) {
Mat src, dst;
src = imread("./test.jpg");
if (!src.data){
printf("could not load image...\n");
return -1;
}
namedWindow("input img");
imshow("input img", src);
Mat kernel = (Mat_<char>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
filter2D(src, dst, src.depth(), kernel);
namedWindow("output img");
imshow("output img", dst);
waitKey(0);
return 0;
}
vs编译运行结果: 
关于filter2D计算原理
opencv filter2D()函数(卷积)计算原理
|