cvSobel(const CvArr* src, CvArr* dst, int xorder, int yorder, int apertureSize=3) em không hiểu chổ xoder va yorder .Mong các bác hiểu thì chỉ rõ cho e với. Theo e được biết thì thuật toán sobel dùng để nhận diện biên của đốk tượng trong ảnh , nhưng sao cái của e làm thì nó không giống,Mong bác nào xem và nhận xét hộ :sao e không thấy no tách biên gì hết ,code và hình cua e dây
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <cv.h>
#include <highgui.h>
int main()
{
IplImage* src = cvLoadImage("a1.jpg");
cvNamedWindow("sourceImage");
cvShowImage("sourceImage", src);
IplImage*sobel=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_8U,1);
IplImage*dst_x=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_32F,1);
IplImage*dst_y=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_32F,1);
cvCvtColor(src,sobel, CV_RGB2GRAY);
cvSobel(sobel,dst_x,0,1,3);
cvNamedWindow("show1");
cvShowImage("show1", dst_x);
cvWaitKey(50000);
}
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <cv.h>
#include <highgui.h>
int main()
{
IplImage* src = cvLoadImage("a1.jpg");
cvNamedWindow("sourceImage");
cvShowImage("sourceImage", src);
IplImage*sobel=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_8U,1);
IplImage*dst_x=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_32F,1);
IplImage*dst_y=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_32F,1);
cvCvtColor(src,sobel, CV_RGB2GRAY);
cvSobel(sobel,dst_x,0,1,3);
cvNamedWindow("show1");
cvShowImage("show1", dst_x);
cvWaitKey(50000);
}
Comment