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

一种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;}
    }
}

完整代码就不放了,没啥意思
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值