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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cvmat.c

?? 于仕琪的OpenCV基礎+教程的程序實例
?? C
字號:
/* 程序名:cvmat.c   功能:說明矩陣的一些操作方法*/#include "cv.h"#include "highgui.h"#include <stdio.h>void PrintMat(CvMat *A);  // 顯示矩陣void GenRandn(CvMat *arr, int seed); // 生成正態分布的隨機矩陣void GenRand(CvMat *arr, int seed); // 生成[0,1]均勻分布的隨機矩陣static int cmp_func( const void* _a, const void* _b, void* userdata ); // 比較函數void Test_Multiply();  // 測試矩陣乘法void Test_cvGetRawData();  // 將緩存數據填入CvMat數組中void Test_DCT();   // 計算DCT變換void Test_Rand();  // 生成隨機數void Test_SeqSort();  // 二維序列排序int main(){    Test_Multiply();        // pass    Test_cvGetRawData();    // pass    Test_DCT();             //pass	Test_Rand();     // pass	Test_SeqSort();  // pass    return 0;}// Testing: Sort 2d points in top-to-bottom left-to-right order.void Test_SeqSort(){	CvMemStorage* storage = cvCreateMemStorage(0);	CvSeq* seq = cvCreateSeq( CV_32SC2, sizeof(CvSeq), sizeof(CvPoint), storage );	int i;	    printf("\n=== Test sequence sorting ===");    for( i = 0; i < 10; i++ )	{		CvPoint pt;		pt.x = rand() % 1000;  // 1000 以內的隨機數		pt.y = rand() % 1000;		cvSeqPush( seq, &pt );	}		printf("\nOriginal point set:\n");	for( i = 0; i < seq->total; i++ )	{		CvPoint* pt = (CvPoint*)cvGetSeqElem( seq, i );		printf( "(%d,%d)\n", pt->x, pt->y );	}	cvSeqSort( seq, cmp_func, 0 /* userdata is not used here */ );		/* print out the sorted sequence */	printf("\nAfter sorting:\n");	for( i = 0; i < seq->total; i++ )	{		CvPoint* pt = (CvPoint*)cvGetSeqElem( seq, i );		printf( "(%d,%d)\n", pt->x, pt->y );	}		cvClearSeq( seq );   // Sequence clearing should be done before storage clearing	cvReleaseMemStorage( &storage );}// The comparison function that returns negative, zero// or positive value depending on the elements relation static int cmp_func( const void* _a, const void* _b, void* userdata ){    CvPoint* a = (CvPoint*)_a;    CvPoint* b = (CvPoint*)_b;    int y_diff = a->y - b->y;    int x_diff = a->x - b->x;   // return y_diff ? y_diff : x_diff;
      return x_diff ? x_diff :y_diff ;}// 生成隨機矩陣void Test_Rand(){    CvMat* a = cvCreateMat( 10, 6, CV_32F );    int i;    printf("\n=== Test generating random matrix ===");    for(i=0;i<5;i++)    {        GenRandn(a, i);        PrintMat(a);    }    cvReleaseMat(&a);}// 顯示矩陣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");}/*Generate uniformly distributed random numbers.Fill random numbers to arr, chosen from a uniform distribution on the interval (0.0,1.0).seed is the random generator seed. Array arr should be pre-allocated before calling this function*/void GenRand(CvMat* arr, int seed){    // let's noisy_screen be the floating-point 2d array that is to be "crapped"     CvRandState rng;        // initialize random generator    rng.state = cvRNG(0xffffffff);	cvRandInit( &rng,        0, 1,      // use dummy parameters now and adjust them further         seed, // use input seed here         CV_RAND_UNI // specify uniform type          );        cvRandArr( &rng.state, arr, CV_RAND_UNI, cvRealScalar(0), cvRealScalar(1) );    // RNG state does not need to be deallocated }/*Generate normally distributed random numbers.Fill random numbers to arr, of a normal distribution with mean zero and variance one.seed is the random generator seed. Array arr should be pre-allocated before calling this function*/void GenRandn(CvMat* arr, int seed){    // let's noisy_screen be the floating-point 2d array that is to be "crapped"     CvRandState rng;        // modify RNG to make it produce normally distributed values    rng.state = cvRNG(0xffffffff);    cvRandInit( &rng,        0, 1,      // use dummy parameters now and adjust them further         seed, // use input seed here         CV_RAND_NORMAL // specify uniform type          );    // fill random numbers to arr, with mean zero and variance one      cvRandArr( &rng.state, arr, CV_RAND_NORMAL,        cvRealScalar(0),  // average intensity        cvRealScalar(1)   // deviation of the intensity        );    // RNG state does not need to be deallocated }// Test matrix multiplyvoid Test_Multiply(){    double a[] = { 1,  2,  3,  4,		5,  6,  7,  8,				9, 10,  11, 12 };        double b[] = { 	1, 5, 9,					2, 6, 10,					3, 7, 11,					4, 8, 12 };        double c[9];    CvMat Ma, Mb, Mc;        printf("\n=== Test multiply ===");    cvInitMatHeader( &Ma, 3, 4, CV_64FC1, a, CV_AUTOSTEP );    // 初始化初始化矩陣頭    cvInitMatHeader( &Mb, 4, 3, CV_64FC1, b, CV_AUTOSTEP );    cvInitMatHeader( &Mc, 3, 3, CV_64FC1, c, CV_AUTOSTEP );    cvMatMulAdd( &Ma, &Mb, 0, &Mc );     //c 數組存貯 a(3x4) 和 b(4x3) 矩陣的積        PrintMat(&Ma);    PrintMat(&Mb);    PrintMat(&Mc);    return;}// Get raw data from data buffer and pass them to a matrixvoid Test_cvGetRawData(){    float* data;    int step;    float a[] = {	 1, 2, 3, 4,				 -5, 6, 7, 8,				 9, -10, -11, 12 };    CvMat array;    CvSize size;    int x, y;        printf("\n=== Test get raw data ===");    cvInitMatHeader( &array, 3, 4, CV_32FC1, a, CV_AUTOSTEP );        cvGetRawData( &array, (uchar**)&data, &step, &size );    step /= sizeof(data[0]);        printf("\nCvMat = ");    PrintMat(&array);    printf("\nData = ");    for( y = 0; y < size.height; y++, data += step )    {        printf("\n");        for( x = 0; x < size.width; x++ )        {            data[x] = (float)fabs(data[x]);            printf("%8.2f",data[x]);        }    }    printf("\n");    return;}// test 1-d and 2-d dct transformvoid Test_DCT(){    float data[] = { 1, 2, 3, 4, 5, 6, 7, 8 };        CvMat a;    a = cvMat(2,4,CV_32FC1,data);    printf("\n=== Test DCT ===");    printf("\nOriginal matrix = "); PrintMat(&a);        cvDCT(&a, &a, CV_DXT_FORWARD);    printf("\n2-D DCT = "); PrintMat(&a);	    cvDCT(&a, &a, CV_DXT_INVERSE);    printf("\n2-D IDCT = "); PrintMat(&a);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡av电影在线播放| 亚欧色一区w666天堂| 亚洲女与黑人做爰| 亚洲成av人片一区二区三区| 韩国精品一区二区| av欧美精品.com| 欧美顶级少妇做爰| 久久久高清一区二区三区| 亚洲精品久久久久久国产精华液| 男人操女人的视频在线观看欧美| 成人在线综合网| 欧美日韩国产一级片| 国产日韩欧美亚洲| 午夜视频在线观看一区二区三区| 国产在线精品免费| 欧美熟乱第一页| 国产女人18水真多18精品一级做| 亚洲高清免费观看高清完整版在线观看 | 一区二区三区四区亚洲| 老司机精品视频在线| a在线欧美一区| 日韩一区二区三区视频在线观看| 日韩一区中文字幕| 久久精品国产精品亚洲精品| 色婷婷久久99综合精品jk白丝| 精品久久国产老人久久综合| 亚洲精品老司机| 国产精品自在在线| 欧美午夜片在线看| 国产免费久久精品| 日韩和欧美的一区| 91亚洲国产成人精品一区二区三| 日韩一区二区中文字幕| 成人欧美一区二区三区视频网页| 日韩电影网1区2区| 日本黄色一区二区| 国产日韩三级在线| 久久www免费人成看片高清| 色综合久久天天综合网| 欧美精品一区二区三| 天堂午夜影视日韩欧美一区二区| 成人avav影音| 久久久五月婷婷| 日韩中文字幕av电影| 91在线视频网址| 久久精品人人做人人综合 | 欧美一级久久久| 亚洲乱码日产精品bd| 国产精品1024| 日韩一区二区三区视频在线| 亚洲一区在线电影| 99久久久久久99| 久久久www免费人成精品| 蜜臀国产一区二区三区在线播放| 欧美日韩综合在线| 亚洲美女屁股眼交| 成人视屏免费看| 国产喂奶挤奶一区二区三区| 久久99精品久久久久久| 日韩午夜精品电影| 五月天激情综合| 欧美日韩日日摸| 亚洲一二三四在线| 91蝌蚪国产九色| 在线一区二区观看| 亚洲国产电影在线观看| 国产精品88888| √…a在线天堂一区| 欧美优质美女网站| 午夜伦理一区二区| 亚洲欧美综合另类在线卡通| 国产激情视频一区二区在线观看 | 国产欧美中文在线| 国产一区二区三区四区五区美女 | 国产一区免费电影| 欧美va亚洲va在线观看蝴蝶网| 日韩av一区二区三区四区| 欧美三级在线播放| 亚洲一区二区精品视频| 精品视频1区2区| 亚洲国产欧美在线人成| 欧美午夜在线一二页| 爽爽淫人综合网网站| 欧美丰满少妇xxxxx高潮对白 | 精品伦理精品一区| 国内精品久久久久影院薰衣草| 久久久久久免费网| 丰满少妇在线播放bd日韩电影| 国产欧美一区二区精品性色超碰 | 伊人色综合久久天天| 91久久精品午夜一区二区| 亚洲高清三级视频| 67194成人在线观看| 久久精品国产一区二区三区免费看 | 亚洲精品国产无天堂网2021 | 久久福利资源站| www日韩大片| av一本久道久久综合久久鬼色| 亚洲欧美激情一区二区| 欧美另类久久久品| 极品销魂美女一区二区三区| 久久久电影一区二区三区| 99久久婷婷国产综合精品| 亚洲v日本v欧美v久久精品| 欧美一区二区久久久| 国产成人精品影院| 亚洲视频网在线直播| 欧美高清视频一二三区 | 亚洲一区二区成人在线观看| 91精品国产aⅴ一区二区| 国产美女娇喘av呻吟久久| 亚洲欧美视频在线观看| 在线不卡免费欧美| 国产精品99久久久久久宅男| 亚洲永久免费av| 精品国产乱码久久久久久闺蜜| av网站免费线看精品| 日韩成人一区二区| 亚洲国产激情av| 69精品人人人人| 99精品久久免费看蜜臀剧情介绍| 免费人成黄页网站在线一区二区| 日本一区二区久久| 91麻豆精品国产91| av成人免费在线观看| 日韩精品五月天| 最新中文字幕一区二区三区| 日韩一二三区视频| 91美女精品福利| 精品一区二区三区香蕉蜜桃| 亚洲欧洲av另类| 日韩欧美国产午夜精品| 色诱视频网站一区| 国产一区二区网址| 亚洲国产精品久久久久婷婷884 | 91蜜桃婷婷狠狠久久综合9色| 乱中年女人伦av一区二区| 亚洲人吸女人奶水| 久久色视频免费观看| 538在线一区二区精品国产| 91最新地址在线播放| 狠狠色丁香婷综合久久| 亚洲风情在线资源站| 日韩毛片精品高清免费| 2023国产精品自拍| 欧美精品一二三| 91亚洲大成网污www| 国产精品456露脸| 青青草97国产精品免费观看 | 色婷婷综合视频在线观看| 国产一区二区视频在线| 日本美女一区二区| 亚洲高清视频在线| 亚洲激情五月婷婷| 中文字幕精品一区| 久久久99精品免费观看不卡| 日韩欧美成人激情| 8x福利精品第一导航| 欧美日韩免费高清一区色橹橹| 成人动漫一区二区三区| 国产一区二区三区久久久| 日本成人中文字幕| 亚洲gay无套男同| 亚洲猫色日本管| 国产精品理伦片| 国产日韩精品一区二区浪潮av| 26uuuu精品一区二区| 亚洲精品日日夜夜| 亚洲欧洲无码一区二区三区| 欧美激情中文字幕| 中文字幕av一区二区三区免费看| 欧美videofree性高清杂交| 日韩欧美电影一区| 欧美一级电影网站| 日韩欧美的一区二区| 日韩欧美第一区| 337p日本欧洲亚洲大胆精品| 精品国产免费人成电影在线观看四季| 欧美一卡二卡在线| 欧美一级高清片在线观看| 欧美一级欧美一级在线播放| 欧美精品电影在线播放| 欧美亚洲禁片免费| 91国产成人在线| 在线观看亚洲a| 欧美日韩一二三| 666欧美在线视频| 欧美一区二区二区| 日韩一区二区免费在线观看| 欧美xingq一区二区| 久久新电视剧免费观看| 国产欧美精品一区二区三区四区| 亚洲国产精品av| 亚洲三级免费观看| 亚洲成人免费视| 久久精工是国产品牌吗| 国产精品一区二区三区四区| 成人va在线观看| 欧美午夜精品久久久| 91精品久久久久久久久99蜜臂|