void IVE2OPENCV_Showimage_Grey(IVE_SRC_IMAGE_S *ive_img)
{
HI_U32 return_flag=0;
IplImage* cv_img=NULL;
cv_img=cvCreateImage(cvSize(ive_img->u16Width,ive_img->u16Height),8,1);
cv_img->imageData=(char*)ive_img->pu8VirAddr[0];
cvNamedWindow("bendan");
cvShowImage("bendan",cv_img);
cvWaitKey(50);//?这个函数的作用
cvDestroyWindow("bendan");
cvReleaseImage(&cv_img);
cv_img=NULL;
}
问题:
1.cvWaitKey的工作机理,是按键触发么?按键触发之前,CPU空闲么?
2.cvWaitKey(int t );当t>0时,是不是等待多少毫秒后在工作?
3.上述代码中,我想显示图片为什么一直闪烁,我没有不是应该隔50毫秒,在更新么?
4.为了进一步移植到下位机,老大要减低程序执行的CPU,目前是25%,但是当我在显示图像中增加cvWaitKey(50)后,cpu的占有率明显下降,是12%。这是什么原理,增加cvWaitKey(50)后,会影响循环程序单次执行的时间么?(主要是我自己测试了一下,处理时间没有增加,竟然有些下降?什么原因)