[問題] 關於OpenCV
※ [本文轉錄自 C_and_CPP 看板]
作者: freestylelin (妹妹) 看板: C_and_CPP
標題: [問題] 關於OpenCV
時間: Thu Mar 13 18:16:49 2008
最近由於專題老師教我寫關於視訊監控的程式
小弟是OpenCV 的新手
下面是我練習圖形轉灰階的程式碼
遊請各位高手幫我解釋紅色區域所執行的到底是什麼?
/ GrayLevel.cpp : 定義主控台應用程式的進入點。
//
#include "stdafx.h"
#include <cv.h>
#include <highgui.h>
#include <stdio.h>
void GraylevelImage(IplImage* Image)
{
int i,j,r,g,b,h,w,gray;
h=Image->height;
w=Image->width;
for(i=0;i<h;i++)
{
for(j=0;j<w;j++)
{
r=((uchar*)(Image->imageData + Image->widthStep * i))[j*3+2];
g=((uchar*)(Image->imageData + Image->widthStep * i))[j*3+1];
b=((uchar*)(Image->imageData + Image->widthStep * i))[j*3+0];
gray=(r*76+g*150+b*29)>>8;
((uchar*)(Image->imageData + Image->widthStep * i))[j*3+2]=gray;
((uchar*)(Image->imageData + Image->widthStep * i))[j*3+1]=gray;
((uchar*)(Image->imageData + Image->widthStep * i))[j*3+0]=gray;
}
}
return;
}
int main()
{
IplImage* pImage = cvLoadImage("艾斯.jpg",1);
IplImage* pImage2;
pImage2=cvCreateImage(cvGetSize(pImage),pImage->depth,pImage->nChannels);
cvCopy(pImage,pImage2,NULL);
GraylevelImage(pImage2);
cvSaveImage("test1.jpg",pImage2);
cvNamedWindow("TEST");
cvShowImage("TEST",pImage2);
cvWaitKey();
cvDestroyWindow("TEST");
cvReleaseImage(&pImage2);
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.88.33
→
03/13 20:36,
03/13 20:36
※ 編輯: freestylelin 來自: 220.139.88.33 (03/13 20:59)
※ 編輯: freestylelin 來自: 220.139.88.33 (03/13 21:00)
→
03/13 21:00,
03/13 21:00
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.88.33
※ 編輯: freestylelin 來自: 220.139.88.33 (03/13 21:03)
推
03/16 10:28, , 1F
03/16 10:28, 1F
→
03/16 10:29, , 2F
03/16 10:29, 2F
→
03/16 10:30, , 3F
03/16 10:30, 3F
→
03/16 10:30, , 4F
03/16 10:30, 4F
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章