您的位置:首页 > 编程语言 > Qt开发

QT中用opencv遍历一个图片(一种思路,不是最佳,有空再补充)

2017-08-30 10:15 295 查看

一种qt中遍历图片的方法 at 方式

面临的问题:

qt中读入你想选取的图给Mat

opencv的遍历

选取你想的文件用QFileDialog可以帮助完成。

如下图
QString filename ;//QT的文件路径不能有中文,都5.9了这bug还在。

filename = QFileDialog::getOpenFileName(this,

tr("Open Image"), " ", tr("Image Files (*.png *.jpg *.bmp)"));

ui->screen->setPixmap (QPixmap(filename));


opencv的imread函数第一个参数是一个string类型的地址。但是上文的filename是QString类型的,需要转换一下。方法如下

img=imread(filename.toLatin1().data(),IMREAD_GRAYSCALE );


采用at方法遍历,同时还进行了其他操作,代码如下

for(int i=0;i<height-1;i++)
{

for(int j=0;j<width-1;j++)
{
if(i<300||i>2932)   {img_erzhi.at<uchar>(i,j) =0;continue;}
if(j<300||j>4564)   {img_erzhi.at<uchar>(i,j) =0;continue;}
if(img_erzhi.at<uchar>(i,j)>11) {img_erzhi.at<uchar>(i,j)=255;}
}
}

完整代码就不放了,没啥意思
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt opencv 遍历 图片 bug