[opencv_C++] 入门强推!!!【B站最全】
上一讲:【opencv4】opencv视频教程 C++(opencv教程)2、加载,修改,保存图像
矩阵的掩膜操作
获取图像像素指针像素范围处理`saturate_cast`函数调用filter2D功能 代码示例关于filter2D计算原理
矩阵的掩膜操作 获取图像像素指针 像素范围处理saturate_cast
#include#include using namespace cv; int main(int argc, const char* argv[]) { Mat src, dst; src = imread("./test.jpg"); //if (src.empty()) { if (!src.data){ printf("could not load image...n"); return -1; } namedWindow("input img"); //默认自动窗口大小 imshow("input img", src); //投机取巧调包侠上线!也看不太懂 Mat kernel = (Mat_ (3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0); //默认 //Mat kernel = (Mat_ (3, 3) << -1, -1, -1, -1, 5, -1, -1, -1, -1); //没效果,一片黑 //Mat kernel = (Mat_ (3, 3) << 0, -1, 0, -1, 10, -1, 0, -1, 0); //感觉有种曝光过度感觉 //Mat kernel = (Mat_ (3, 3) << 0, -2, 0, -2, 16, -2, 0, -2, 0); //明显曝光过度 //Mat kernel = (Mat_ (3, 3) << 0, -2, 0, -2, 8, -2, 0, -2, 0); //直接变白素描了 //Mat kernel = (Mat_ (3, 3) << 0, -2, 0, -2, 9, -2, 0, -2, 0); //貌似跟(0, -1, 0, -1, 5, -1, 0, -1, 0)相同 //Mat kernel = (Mat_ (3, 3) << 0, -10, 0, -10, 41, -10, 0, -10, 0); //这。。。 filter2D(src, dst, src.depth(), kernel); namedWindow("output img"); //默认自动窗口大小 imshow("output img", dst); waitKey(0); return 0; }
vs编译运行结果:
opencv filter2D()函数(卷积)计算原理



