• 5396阅读
  • 0回复

QT转换灰度,保存采集的视频,图片中画矩形几个问题 [复制链接]

上一主题 下一主题
离线workdorm
 
只看楼主 正序阅读 楼主  发表于: 2011-05-18


[pre]问题[/pre][pre]采集了一段视频已经转换成了rgb888的灰度图像,想把它转成八位索引灰度图像,自己弄了一下不怎么成功,下面[/pre][pre]自己编写的部分代码[/pre][pre]uchar rgbhuidu[320*240*3];rgb888的灰度图数据存放在rgbhuidu数组中,该数组内的r,g,b三个分量已经相等[/pre][pre]uchar r[320*240];[/pre][pre]for(j=0;j<320*240;i++){r[j]=rgbhuidu[3*j];}[/pre][pre]QPainter *painter=new QPainter(this);[/pre][pre]QImage *image=new QImage(r,320,240,QImage::Format_Indexed8);//r是每一帧的灰度图像的red分量,[/pre][pre]//其实rgb888图像的三个分量已经相等了,现在是想把他转成8位索引图像[/pre][pre]QVector<QRgb>grayColorTable; 制作索引表,
uint rgb=0;[pre]for(inti=0;i<256;i++)[/pre][pre]{grayColorTable.append(rgb);[/pre][pre]rgb+=0x00010101;}//这里为什么要对rgb进行这个加法?而且在网上看到的代码都是用彩色图像的绿色分量来做索引值[/pre][pre]Qimage image2=*image;[/pre][pre]image2.setColorTable(grayColorTable);//设置索引表[/pre]
[/pre][pre]painter->drawImage(10,10,image2,0,0,320,240);[/pre][pre]高人可以帮我看看哪里错了吗?运行之后没有任何显示[/pre][pre]http://www.oschina.net/code/snippet_96486_4027这是网上的彩色转灰度的例子[/pre][pre] [/pre][pre]问题二[/pre][pre]LINUX在QT中调用V4L2采集视频后,想把采集的视频保存下来要调用什么函数?[/pre]
[pre] [/pre][pre]问题三[/pre][pre] [/pre][pre]在QT中对图像进行处理后得到了一副二值图像,现在想将图像中的白色部分(人的形状)用矩形(最小的矩形)给框出来,矩形的四条[/pre][pre]边刚好可以框住图片的所有的白色部分,在QT中要调用什么函数来实现这个功能?怎样来确定矩形四条边的位置求高人[/pre][pre]指点,最好有源代码和解释。[/pre][pre]
[/pre]
快速回复
限100 字节
 
上一个 下一个