1、检测直线(Line)并按倾斜角度进行校正
int main(int argc, char** argv)
{
double degree;
double sum=0.0;
int m=0;
const char* filename = "c:\\2.jpg";
IplImage* src = cvLoadImage( filename, 0 );
IplImage* dst;
IplImage* color_dst;
CvMemStorage* storage = cvCreateMemStorage(0);
CvSeq* lines = 0;
int i;
if( !src )
{
return -1;
}
dst = cvCreateImage( cvGetSize(src), 8, 1 );
color_dst = cvCreateImage( cvGetSize(src), 8, 3 );
cvCanny( src, dst, 50, 200, 3 );
cvCvtColor( dst, color_dst, CV_GRAY2BGR );
lines = cvHoughLines2(dst, storage, CV_HOUGH_PROBABILISTIC, 1, CV_PI/180, 200, 50, 10);
double k;
for (i = 0; i < lines->total/*/20*/; i++)
{
CvPoint* line = (CvPoint*)cvGetSeqElem(lines, i);
if (fabs(line[0].x-line[1]