帮忙解释一下opencv代码,看不懂,希望每句都解释一下,谢谢啦!

帮忙解释一下opencv代码,看不懂,希望每句都解释一下,谢谢啦!,第1张

这些代码都解释的这么好了,为什么还需要解释呢。

void CBgCutSystemDlg::DetectObject( IplImage* img) //对话框的检测目标的函数

{

CvSize size = cvSize(img->width,img->height)//获取参数img的图像宽高

CvMemStorage *stor=NULL //创建内存缓燃空间的指针

IplImage* tmp_s=cvCreateImage( size, IPL_DEPTH_8U, 1 ) //创建单通道的8位图像

IplImage *curimg=cvCreateImage( size, IPL_DEPTH_8U, 1 )//创建单通道的8位图像

CvSeq *tmp_cont //创建序列的指针

double timestep = clock()/100.// 定义时间戳

IplImage* imgpyr = cvCreateImage( cvSize((size.width &-2)/2, (size.height &-2)/2), 8, 1 )//创建imgpyr的图像指针,是降采样的金字塔图像

CvFont font

cvInitFont(&font,CV_FONT_HERSHEY_DUPLEX ,0.6f,0.6f,0,2,CV_AA)

/*先进行数据的初始化,取第10帧,因为前面颂卜的帧有可能不是背景是黑色的这样更保险,也就是认为10帧以后是正常的*/

if( nFrmNum==10 )

{

if (buf)//buf应该是缓存的图扰樱虚像,不知道在哪里定义的,应该是全局的图像指针

cvReleaseImage( &buf) //释放图像

buf = cvCreateImage( size, IPL_DEPTH_8U, 1 ) //重新定义buf为单通道的图像

cvZero( buf )//清空图像缓存

cvCvtColor( img, buf, CV_BGR2GRAY )//将传递的图像信息传递给buf,这里才知道img是3通道的彩色图像

} else if(nFrmNum>10) {//如果超过了10帧做什么处理?

您好,可参考:http://blog.csdn.net/songzitea/article/details/11096287,根据dicom的文件格式要求解读悉饥汪肢简,然后转化为Mat数据,重载imread函数。可看看这个源睁仔码:http://download.csdn.net/download/goodluckgg/2301575


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/12257155.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存