資源簡介
比如 將一個背景為白色的魚貼到一個海洋背景中 本程序就可以只貼魚的部分 而過濾掉白色的背景 看起來更為逼真(用opencv實現)
代碼片段和文件信息
#include?“stdio.h“
#include?“highgui.h“
#include?“cv.h“
void?main()
{
IplImage?*pBK;
IplImage?*pImg1;
IplImage?*pfish;
CvMat?bk;
int?ji;
pfish=cvLoadImage(“yu.jpg“1);?//載入圖片
pBK=cvLoadImage(“bk.jpg“1);
????cvGetSubRect(?pBK?&bk??cvRect(200100pfish->widthpfish->height)?);
pImg1?=?cvCreateImage(cvSize(pfish->widthpfish->height)IPL_DEPTH_8U1);
cvCvtColor(pfishpImg1CV_RGB2GRAY);?//rgb轉換為灰度圖
for(j?=?0;jheight?;?j++)
{
uchar*?ptr?=?(uchar*)(pImg1->imageData+j*pImg1->widthStep);
uchar*?ptr1?=?(uchar*)(pfish->imageData+j*pfish->widthStep);
uchar*?ptr2?=?(uchar*)(bk.data.ptr+j*bk.step);
for(i?=?0;i?width?;?i++)
{
if(ptr[i]?250)??//像素值小于250的保留下來?并顯示到背景圖上?即白色部分被去除?
{
ptr2[i*3]?=?ptr1[i*3];
ptr2[i*3?+?1]?=?ptr
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????159025??2011-05-19?21:11??toumingse\bk.jpg
?????文件???????1000??2011-08-24?17:48??toumingse\toumingse.c
?????文件???????4204??2011-06-03?14:25??toumingse\toumingse.dsp
?????文件????????543??2011-06-03?13:53??toumingse\toumingse.dsw
?????文件??????41984??2011-08-24?17:48??toumingse\toumingse.ncb
?????文件??????54784??2011-08-24?17:48??toumingse\toumingse.opt
?????文件???????1216??2011-08-24?17:47??toumingse\toumingse.plg
?????文件??????24221??2011-06-01?08:46??toumingse\yu.jpg
?????目錄??????????0??2011-08-24?17:48??toumingse
-----------?---------??----------?-----??----
???????????????286977????????????????????9
評論
共有 條評論