您的位置:首页 > Web前端

Extract Sobel feature from an image

2014-11-17 12:13 183 查看
#include <iostream>
#include <opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat img = imread("t.jpg");
Mat grey;
cvtColor(img, grey, CV_BGR2GRAY);

Mat sobelx;
Mat sobely;
Sobel(grey, sobelx, CV_32F, 1, 0);
Sobel(grey, sobely, CV_32F, 0, 1);

double minVal_x, minVal_y, maxVal_x, maxVal_y;
minMaxLoc(sobelx, &minVal_x, &maxVal_x); //find minimum and maximum intensities
minMaxLoc(sobely, &minVal_y, &maxVal_y); //find minimum and maximum intensities
Mat draw_x;
Mat draw_y;
sobelx.convertTo(draw_x, CV_8U, 255.0/(maxVal_x - minVal_x), -minVal_x * 255.0/(maxVal_x - minVal_x));
sobely.convertTo(draw_y, CV_8U, 255.0/(maxVal_y - minVal_y), -minVal_y * 255.0/(maxVal_y - minVal_y));

namedWindow("sobelx", CV_WINDOW_AUTOSIZE);
imshow("sobelx", draw_x);
//waitKey();
namedWindow("sobely", CV_WINDOW_AUTOSIZE);
imshow("sobely", draw_y);
waitKey();
return 0;
}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: