亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? simplemain.cpp

?? K-means algorithm, written by visual c++ 6
?? CPP
字號(hào):
#pragma warning(disable : 4996)
#pragma comment( lib, "cxcore.lib" )
#pragma comment( lib, "highgui.lib" )
#pragma comment( lib, "cv.lib" )
#pragma comment( lib, "ml.lib" )
#pragma comment( lib, "cvaux.lib" )
#pragma comment( lib, "cvcam.lib" )

#include <cxcore.h>
#include <highgui.h>
#include <cv.h>
#include<iostream.h>
#include <math.h>
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
#include <stdlib.h>


IplImage* inpaint_mask = 0;
IplImage* img0 = 0, *img = 0, *inpainted = 0;
CvPoint prev_pt = {-1,-1};
CvPoint points[100];
int number=0;
//a^2+b^2=1
struct Line
{
	double a;
	double b;
	double c;
};
Line LineFitting(CvPoint* p,int n);
void PrintMat(CvMat* A);
void on_mouse( int event, int x, int y, int flags, void* );
double MaxX(CvPoint *p,int n);
double MinX(CvPoint *p,int n);
void PrintLine(IplImage* img,Line l,double xfrom,double xto);

void main()
{

    cvNamedWindow( "image", 1 );
	img= cvCreateImage(cvSize(700,500), IPL_DEPTH_8U, 3);



//    cvZero(img);

    cvShowImage( "image", img );
    cvSetMouseCallback( "image", on_mouse, 0 );

    for(;;)
    {
        int c = cvWaitKey(0);

        if( (char)c == 27 )
        break;

        if( (char)c == 'r' )
        {
            cvZero(img);
			number=0;
            cvShowImage( "image", img );
        }

    }


}
void on_mouse( int event, int x, int y, int flags, void* )
{
	double xmax,xmin;
	Line l;
    if( !img )
    return;
	if( event == CV_EVENT_LBUTTONDOWN )
	{
		cvCircle(img,cvPoint(x,y),1,cvScalarAll(255));
		points[number]=cvPoint(x,y);
		number++;
		cvShowImage( "image", img );
		cout<<x<<endl;
	}
	if( event == CV_EVENT_RBUTTONUP )
	{

		xmax=MaxX(points,number);
		xmin=MinX(points,number);
		cout<<"xmax="<<xmax<<endl;
		cout<<"xmin="<<xmin<<endl;

		l=LineFitting(points,number);
		cout<<"a="<<l.a<<endl;
		cout<<"b="<<l.b<<endl;
		cout<<"c="<<l.c<<endl;

		PrintLine(img,l,xmin,xmax);
//		cvCircle(img,cvPoint(x,y),50,cvScalarAll(255));
		cvShowImage( "image", img );
	}
    
    
}
double distance(Line l,CvPoint p)
{
	double d;
	d=l.a*p.x+l.b*p.y+l.c;
	if(d>0)
		return d/sqrt(l.a*l.a+l.b*l.b);
	else
		return -d/sqrt(l.a*l.a+l.b*l.b);
}
double distance(Line l,CvPoint* p,int n)
{
	double sum=0;
	for(int i=0;i<n;i++)
	{
		sum=sum+distance(l,p[i]);
	}
	return sum;
}
double MaxX(CvPoint *p,int n)
{
	int max;
	max=p[0].x;
	for(int i=1;i<n;i++)
	{
		if(max<p[i].x)
			max=p[i].x;
	}
	return max;
}
double MinX(CvPoint *p,int n)
{
	int min;
	min=p[0].x;
	for(int i=1;i<n;i++)
	{
		if(min>p[i].x)
			min=p[i].x;
	}
	return min;
}
Line LineFitting(CvPoint *p,int n)
{
	CvMat Ma, Mb, Mc;
	Line l1,l2;
	double a[4],b[4],c[2];
	double avgx2=0;
	double avgx=0;
	double avgxy=0;
	double avgy=0;
	double avgy2=0;
	double t;
	
	for(int i=0;i<n;i++)
	{
		avgx=avgx+((p+i)->x);
		avgx2=avgx2+((p+i)->x)*((p+i)->x);
		avgxy=avgxy+((p+i)->x)*((p+i)->y);
		avgy=avgy+((p+i)->y);
		avgy2=avgy2+((p+i)->y)*((p+i)->y);
	}

	avgx=avgx/n;
	avgx2=avgx2/n;
	avgxy=avgxy/n;
	avgy=avgy/n;
	avgy2=avgy2/n;
	
	
    
	a[0]=avgx2-avgx*avgx;a[1]=avgxy-avgx*avgy;
	a[2]=avgxy-avgx*avgy;a[3]=avgy2-avgy*avgy;

    // 從緩存給矩陣賦值
    cvInitMatHeader( &Ma, 2, 2, CV_64FC1, a, CV_AUTOSTEP);
    cvInitMatHeader( &Mb, 2, 2, CV_64FC1, b, CV_AUTOSTEP);
    cvInitMatHeader( &Mc, 2, 1, CV_64FC1, c, CV_AUTOSTEP);
	cout<<"矩陣A:"<<endl;

	PrintMat(&Ma);
	
	
	cvEigenVV(&Ma,&Mb,&Mc);
	

	l1.a=cvGetReal2D(&Mb,0,0);
	l1.b=cvGetReal2D(&Mb,0,1);

	cout<<"特征向量矩陣:"<<endl;
	PrintMat(&Mb);
	
	t=sqrt(l1.a*l1.a+l1.b*l1.b);
	l1.a=l1.a/t;
	l1.b=l1.a/t;
	l1.c=-l1.a*avgx-l1.b*avgy;


	l2.a=cvGetReal2D(&Mb,1,0);
	l2.b=cvGetReal2D(&Mb,1,1);
	t=sqrt(l2.a*l2.a+l2.b*l2.b);
	l2.a=l2.a/t;
	l2.b=l2.b/t;
	l2.c=-l2.a*avgx-l2.b*avgy;

	cout<<"l1 p "<<distance(l1,p,n)<<endl;
	cout<<"l2 p "<<distance(l2,p,n)<<endl;

	if(distance(l1,p,n)<distance(l2,p,n))
	{
		cout<<"應(yīng)該取l1"<<endl;
		return l1;
	}
	else
	{
		cout<<"應(yīng)該取l2"<<endl;
		return l2;
	}
	
}


void PrintLine(IplImage* img,Line l,double xfrom,double xto)
{
	CvPoint pFrom,pTo;
	double x,y;

	x=xfrom;
	y=(-l.c-l.a*x)/l.b;

	pFrom=cvPoint(x,y);

	x=xto;
	y=(-l.c-l.a*x)/l.b;
	pTo=cvPoint(x,y);

	cvLine(img,pFrom,pTo,cvScalarAll(255),1);	
}
void PrintMat(CvMat* A)
{
    int i,j;
    //printf("\nMatrix = :");
    for(i=0;i<A->rows;i++)
    {
        printf("\n");
        
        switch( CV_MAT_DEPTH(A->type) )
        {
        case CV_32F:
        case CV_64F:
            for(j=0;j<A->cols;j++)
                printf("%9.3f ", (float) cvGetReal2D( A, i, j ));
            break;
        case CV_8U:
        case CV_16U:
            for(j=0;j<A->cols;j++)
                printf("%6d",(int)cvGetReal2D( A, i, j ));
            break;
        default:
            break;
        }
    }
    printf("\n");
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一二一区| 亚洲色图欧洲色图婷婷| 日韩一级在线观看| 久久一日本道色综合| 国产精品不卡视频| 亚洲精品国产第一综合99久久 | 亚洲chinese男男1069| 开心九九激情九九欧美日韩精美视频电影| 麻豆成人av在线| 国产综合久久久久影院| a级精品国产片在线观看| 在线观看亚洲a| 精品粉嫩aⅴ一区二区三区四区| 国产欧美日本一区二区三区| 亚洲成av人片观看| 国产黄色精品视频| 欧美色老头old∨ideo| 国产精品色在线| 日韩高清欧美激情| 91一区二区三区在线观看| 日韩一区二区在线看片| 国产精品久久久久久亚洲毛片| 日韩成人精品在线观看| 97久久精品人人做人人爽50路| 日韩一区二区不卡| 亚洲图片欧美视频| 91蝌蚪国产九色| 国产精品二三区| 岛国av在线一区| 国产精品久99| 91免费版pro下载短视频| 18成人在线视频| 国产精品亚洲人在线观看| 91精品国产综合久久久蜜臀粉嫩 | 国产在线麻豆精品观看| 欧美一区二区三区精品| 日韩精品一二三四| 欧美精品第一页| 水野朝阳av一区二区三区| 91精品国模一区二区三区| 日韩不卡一二三区| 欧美一区二区日韩| 久久精品免费看| 精品久久国产字幕高潮| 国产激情视频一区二区在线观看 | 国产亚洲污的网站| 国产成人精品亚洲777人妖 | 色香蕉成人二区免费| 亚洲综合自拍偷拍| 日韩欧美一区电影| 国产福利91精品| 亚洲欧美激情一区二区| 欧美日韩一区二区在线观看| 日日摸夜夜添夜夜添亚洲女人| 亚洲男人电影天堂| 91污片在线观看| 日韩黄色片在线观看| 久久综合av免费| 色呦呦国产精品| 久久99精品久久久久| 中文字幕免费不卡| 欧美在线一二三四区| 精品一区二区三区在线播放视频| 国产精品久久久久婷婷| 91精品国产色综合久久ai换脸| 国产在线视视频有精品| 亚洲影视在线播放| 久久精品综合网| 在线成人午夜影院| 成人的网站免费观看| 美腿丝袜一区二区三区| 亚洲精品高清在线观看| 国产亚洲一二三区| 日韩免费观看2025年上映的电影| 国产精品小仙女| 日韩一区精品视频| 国产精品久久三区| 在线成人午夜影院| 国产精品伊人色| 午夜精品一区二区三区免费视频 | 国产精品丝袜一区| 欧美一区二区三区四区高清 | jizz一区二区| 国产成a人亚洲| 日韩精品国产欧美| 日韩主播视频在线| 午夜精品福利在线| 天天射综合影视| 午夜精品免费在线| 一区二区激情视频| 国产精品情趣视频| 日本一区二区三级电影在线观看| 欧美电视剧免费全集观看| 555夜色666亚洲国产免| 欧美日韩综合不卡| 7777精品伊人久久久大香线蕉 | 日本一区二区成人| 国产精品免费久久| 69堂国产成人免费视频| 欧美性猛交xxxxxxxx| 不卡的看片网站| 波波电影院一区二区三区| 国产91丝袜在线播放九色| 国产电影精品久久禁18| 不卡的电影网站| 91久久精品午夜一区二区| 欧美综合亚洲图片综合区| 91久久精品午夜一区二区| 欧美最猛黑人xxxxx猛交| 欧美日韩欧美一区二区| 欧美精品一区二区久久婷婷| 国产人伦精品一区二区| 国产精品对白交换视频| 亚洲一区二区三区影院| 免费人成黄页网站在线一区二区| 精品在线播放午夜| 91同城在线观看| 色综合中文字幕| 日韩你懂的在线播放| 精品福利一二区| 亚洲综合色婷婷| 国内精品不卡在线| 成人开心网精品视频| 欧美男人的天堂一二区| 日本一区二区免费在线| 人人精品人人爱| 欧美午夜不卡视频| 欧美精品一区二区三区在线| 亚洲国产精品精华液网站| 蜜乳av一区二区| 欧美亚洲尤物久久| 国产精品久久久久久妇女6080 | 国产视频911| 美国十次综合导航| 91最新地址在线播放| 亚洲精品一区二区三区精华液| 一区二区免费看| 99视频有精品| 日韩久久一区二区| 青青青伊人色综合久久| 欧美在线小视频| 亚洲国产精品成人综合 | 综合久久久久综合| 丁香激情综合国产| 91麻豆精品国产91久久久久久久久 | 欧美精品一区二区久久久| 一区二区三区久久| 国产成人免费9x9x人网站视频| 日韩视频免费直播| 亚洲国产美国国产综合一区二区| 国产乱码字幕精品高清av| 日韩欧美一区在线| 日精品一区二区三区| 91欧美激情一区二区三区成人| 精品成人免费观看| 美女网站在线免费欧美精品| 欧美一区二区三区的| 亚洲资源在线观看| 欧美日韩视频专区在线播放| 久久久久免费观看| 国产精一品亚洲二区在线视频| 久久免费美女视频| 捆绑紧缚一区二区三区视频 | 伊人性伊人情综合网| 欧美色图天堂网| 午夜视频久久久久久| 精品国产乱码久久久久久老虎| 美女视频网站黄色亚洲| 精品日本一线二线三线不卡| 亚洲第一久久影院| 欧美一二三区精品| 东方欧美亚洲色图在线| 亚洲色图在线视频| 在线看不卡av| 五月开心婷婷久久| 国产日韩欧美高清| 欧美视频一区二区三区| 久久99国内精品| 国产精品成人免费| 在线精品视频一区二区| 一区二区三区在线播| 日韩欧美国产一区二区在线播放 | 久久久久久久久久看片| 成人免费黄色大片| 一区二区三区在线高清| 日韩久久免费av| 91久久线看在观草草青青| 亚洲电影在线免费观看| 久久久国产综合精品女国产盗摄| 国产精品夜夜爽| 亚洲小说春色综合另类电影| 国产亚洲精品中文字幕| 日韩视频在线观看一区二区| 粗大黑人巨茎大战欧美成人| 亚洲第一电影网| 亚洲一线二线三线视频| 一区在线观看免费| 国产午夜亚洲精品不卡| 久久亚洲精精品中文字幕早川悠里| 欧美精品一二三|