其余算子以此类推
代码如下:

#include<opencv2/opencv.hpp>
#include<opencv2/core/core.hpp>        // 核心组件
#include<opencv2/highgui/highgui.hpp>  // GUI
#include<opencv2/imgproc/imgproc.hpp>  // 图像处理
using namespace cv;
using namespace std;

void show_image(Mat image)
{
	imshow("test",image);
	waitKey(0);
}

void main()
{
	Mat image;
	image = imread("C:\\Users\\Administrator\\Desktop\\test.jpg",0);
	int height = image.rows;
	int width = image.cols;
	int step = image.step;
	for (int i=1;i<height-1;i++)
	{
		uchar* updata = image.ptr<uchar>(i);
		uchar* updata1 = image.ptr<uchar>(i+1);
		for (int j=1;j<width-1;j++)
		{
			updata[j] = updata[j] - updata1[j + 1];
			updata[j] = -updata[j + 1] + updata1[j];
			if (updata[j] < 0)
			{
				updata[j] = 0;
			}
			if (updata[j] > 255)
			{
				updata[j = 255];
			}
		}
	}
	show_image(image);
}
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐