日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

opencv图像灰化_opencv读入图像、灰度化、归一化、向量化

發(fā)布時間:2025/4/5 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv图像灰化_opencv读入图像、灰度化、归一化、向量化 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

平臺:win7+opencv2.4.4+vs2008

功能:實現(xiàn)對圖像的讀入、灰度化、歸一化和向量化。

代碼:

//這里的頭文件都是vs2008的,與vc6.0有多不同

#include

#include

using namespace std;

using namespace cv;

void main(int argc, char* argv[])

{

IplImage *src;

src = cvLoadImage("D:\\image.jpg"); //這里將lena.jpg和lena.cpp文件放在同一個文件夾下

cvNamedWindow("src",CV_WINDOW_AUTOSIZE);

cvMoveWindow("src",0,50);

cvShowImage("src",src);

//圖像灰度化

IplImage* gray_image;

gray_image = cvCreateImage(cvGetSize(src),8,1);

cvCvtColor(src,gray_image,CV_BGR2GRAY);

//cvNamedWindow("gray",CV_WINDOW_AUTOSIZE);

//cvMoveWindow("gray",100,100);

//cvShowImage("gray",gray_image);

//尺度歸一化

IplImage* norm_image;

CvSize norm_cvsize;

norm_cvsize.width = 100; //目標圖像的寬

norm_cvsize.height = 100; //目標圖像的高

norm_image = cvCreateImage(norm_cvsize, gray_image->depth,gray_image->nChannels); //構(gòu)造目標圖象

cvResize(gray_image, norm_image, CV_INTER_LINEAR); //縮放源圖像到目標圖像

//cvNamedWindow("norm",CV_WINDOW_AUTOSIZE);

//cvMoveWindow("norm",150,150);

//cvShowImage("norm",norm_image);

//圖像轉(zhuǎn)化成矩陣

CvMat* norm_mat = cvCreateMat(norm_image->height,norm_image->width,CV_32FC1);//定義一個指向CvMat對象的指針

cvConvert(norm_image,norm_mat);

//變成行向量(默認為行向量)

CvMat vecHead,*vecRow;

vecRow=cvReshape( norm_mat, &vecHead, 0, 1 );//vec是得到的一維向量

//矩陣轉(zhuǎn)置從而得到列向量

CvMat* col_mat = cvCreateMat(norm_image->height,norm_image->width,CV_32FC1);

cvTranspose( norm_mat, col_mat );

//變成列向量(獲得列向量需要裝置矩陣)

CvMat colHead,*vecCol;

vecCol=cvReshape( col_mat, &colHead, 0, 1 );//得到的一維向量

//顯示向量元素

int S=norm_cvsize.width*norm_cvsize.width;

//給列向量賦值

float c=0,col[10000]={0};

float *p;//獲得矩陣元素(0,0)的指針

p = (float*)cvPtr1D(vecCol, 0,0);

for(int i = 0; i

{

//printf("%f\t",*p/255);

col[i]=*p/255;

c=col[i];

printf("%f\t",c);

p++;

}

cvWaitKey(0);//按需要0課改為任意值

cvDestroyAllWindows();

cvReleaseImage(&src);

cvReleaseImage(&gray_image);

cvReleaseImage(&norm_image);

cvReleaseMat(&norm_mat);

system("pause");//可加可不加

}

本代碼經(jīng)本人調(diào)試均已通過,而且已得到應(yīng)用。

總結(jié)

以上是生活随笔為你收集整理的opencv图像灰化_opencv读入图像、灰度化、归一化、向量化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。