- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图像分割(阈值分割和区域生长)vc代码
实验6 图像分割
阈值分割法
实验代码及结果:
#include cv.h
#include highgui.h
#include stdio.h
#include stdlib.h
#include math.h
int main( int argc, char** argv )
{
IplImage* pImg=0; //声明IplImage指针
int height,width,step,channels;
uchar *data;
int i,j;
//载入图像
pImg = cvLoadImage(2.jpg,0);
if( !pImg )
{
printf(Image was not loaded.\n);
return -1;
}
//获取图像信息
height=pImg-height;
width=pImg-width;
step=pImg-widthStep;
channels=pImg-nChannels;
data=(uchar *)pImg-imageData;
printf(Processing a %d*%d with %d channels\n,height,width,channels);
int MaxP=0;
float t,T,m=0,n=0;
float w0,w1,u0,u1,u;
double q2=0,temp=0;
cvNamedWindow( win1, 1);//创建窗口
cvShowImage( win1, pImg );//显示图像
//计算最大灰度值MaxP
for(i=0;iheight;i++)
for(j=0;jwidth;j++)
{
if(data[i*width+j]MaxP)
{MaxP=data[i*step+j];}
}
printf(最大灰度值:%d\n,MaxP);
//计算最大方差时的阈值t
for(T=0;TMaxP;T++)
{
w0=0,w1=0,u0=0,u1=0,u=0,q2=0,m=0,n=0;
for(i=0;iheight;i++)
{
for(j=0;jwidth;j++)
{
if(data[i*width+j]T)
{u0+=data[i*width+j];m++;}
else
{u1+=data[i*width+j];n++;}
}
}
w0=m/(width*height);
w1=1-w0;
u0/=m;
u1/=n;
u=w0*u0+w1*u1;
q2=w0*w1*pow(u0-u1,2);
if(q2temp)
{ t=T;temp=q2;}
}
printf(最佳阈值:%lf\n,t);
for(i=0;iheight;i++)
for(j=0;jwidth;j++)
{
if(data[i*width+j]t)
data[i*width+j]=0;
else
data[i*width+j]=255;
}
cvNamedWindow(win2, 1);
cvShowImage( win2, pImg );//显示图像
cvWaitKey(0);
cvDestroyWindow( win1 );//销毁窗口
cvDestroyWindow( win2 );
cvReleaseImage( pImg ); //释放图像
return 0;
}
区域生长法
实验代码及结果:
#include cv.h
#include highgui.h
#include stdio.h
#include stdlib.h
#include math.h
#includemalloc.h
#define MaxSize 1000000
struct queue{
int qu[MaxSize];
int front;
int rear;
int tag; //front==rear时表示队列满或空的标志:tag==1表示满,tag==0表示空
};
struct queue *InitQu()
{struct queue *q;
q=(struct queue *)malloc(sizeof(struct queue));//分配空间
q-front=0;
q-rea
您可能关注的文档
- 语言学教程复习题与答案(胡壮麟版)2.doc
- Baidu Static Maps API 使用说明文档.docx
- 背会100句话_记住7000个单词.doc
- 大学英语精读第三版(董亚芬主编)第三册 Unit1~Unit10 翻译答案.doc
- 遥感图像处理实例分析01(算法、图像增强).doc
- 高三九校联考英语试卷.doc
- 二 Ten Years.doc
- 仲恺农业工程学院图像处理实验一.doc
- 幼儿观察画的发展研究(综述).doc
- 俞敏洪用背诵100句话记住7000单词的句子.docx
- 《GB/Z 44363-2024致热性 医疗器械热原试验的原理和方法》.pdf
- GB/T 16716.6-2024包装与环境 第6部分:有机循环.pdf
- 中国国家标准 GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 《GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统》.pdf
- GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 中国国家标准 GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 44305.2-2024塑料 增塑聚氯乙烯(PVC-P)模塑和挤塑材料 第2部分:试样制备和性能测定.pdf
- 《GB/T 44315-2024科技馆展品设计通用要求》.pdf
- GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 39560.9-2024电子电气产品中某些物质的测定 第9 部分:气相色谱-质谱法(GC-MS)测定聚合物中的六溴环十二烷.pdf
文档评论(0)