• 大小: 25.34MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-27
  • 语言: 其他
  • 标签: opencv、Qt  

资源简介

功能介绍: 选择图片坐标,注意是坐标是对应原有的图片坐标,与图片的缩放没有关系。即不管放大缩小多少,右下角的坐标一定对应着原始图片的大小。 每选择一个点,确认一次,存入数据。可以快捷键(空格键); 确认两个点后,当前目标已经确认,显示矩形框,同时显示写入信息的数据; 确认数据之后,觉得数据不对,可以撤销当前(还未保存至txt)的数据,一次撤销一个点的数据; 可以直接在界面打开资源管理器,转至txt所在文件夹; 识别文件夹下所有图片,录完当前图片后,点击进入下一张图片。 开发环境:Qt5.5.1+OpenCV2.4.9+VS2010

资源截图

代码片段和文件信息

#include “calib_point.h“
#include
#include
#include
#include
#include 
#include“displaywgt.h“
QString s2q(const std::string &s)   
{   
return QString(QString::fromLocal8Bit(s.c_str()));   
}  

std::string q2s(const QString &s)   
{   
return std::string((const char *)s.toLocal8Bit());   
}  

template 
std::string Number2String(T val)
{
std::stringstream ss;
ss << val;
std::string strVal;
ss >> strVal;
return strVal;
}

calib_point::calib_point(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
ui.label_display->installEventFilter(this);
fileFlag=0;
connect(ui.openFileBtnSIGNAL(clicked())thisSLOT(onOpenBtn()));
connect(ui.nextBtnSIGNAL(clicked())thisSLOT(onNextBtn()));
connect(ui.confirmBtnSIGNAL(clicked())thisSLOT(onConfirmBtn()));
connect(ui.saveBtnSIGNAL(clicked())thisSLOT(onSaveBtn()));
connect(ui.backoutBtnSIGNAL(clicked())thisSLOT(onBackoutBtn()));
connect(ui.ToDataBtnSIGNAL(clicked())thisSLOT(onTodataBtn()));
ui.confirmBtn->setShortcut(Qt::Key_Space);
ui.backoutBtn->setShortcut(Qt::Key_Backspace);
}

calib_point::~calib_point()
{

}

void calib_point::onOpenBtn()
{
QString folderName = QFileDialog::getExistingDirectory(this tr(“Open Folder“) QString());    //获取文件目录路径
if (!folderName.isEmpty()) {  
QDir dir(folderName);     //初始化文件目录
fileList=dir.entryInfoList(QStringList() << “*.jpg“ << “*.png“ << “*.bmp“ QDir::Files QDir::NoSort);   //筛选图片文件,存入fileInfiList
if(fileList.size()>0)
{
QString infoStr=QString::fromLocal8Bit(“共有“);      
infoStr+=QString::number(fileList.size());                //图片的数量
infoStr+=QString::fromLocal8Bit( “张图片: “);
infoStr+=fileList[fileFlag].baseName();
infoStr+=““;
infoStr+=QString::number(fileFlag+1);                   
ui.infoLine->setText(infoStr);

cailbMat=imread(fileList[0].absoluteFilePath().toStdString());            //转QString 为stdString,然后利用opencv imread读入图片
if(!cailbMat.empty())
{
ui.label_display->setImgBuffer(cailbMat.datacailbMat.colscailbMat.rowscailbMat.step);   //显示图片,label_display是QLbale派生类,自定义的
fileFlag++;
}
}

}  
}

void calib_point::onNextBtn()
{
if(!m_posVec.empty())
m_posVec.clear();                                                  //新的图片应该没有任何标定数据,因此需要清空数据
if(fileFlag {
cailbMat=imread(fileList[fileFlag].absoluteFilePath().toStdString());   /
QString infoStr=QString::fromLocal8Bit(“共有“);
infoStr+=QString::number(fileList.size());
infoStr+=QString::fromLocal8Bit( “张图片: “);
infoStr+=fileList[fileFlag].fileName();
infoStr+=““;
infoStr+=QString::number(fileFlag+1);
ui.infoLine->setText(infoStr);
if(!cailbMat.empty())

ui.label_display->setImgBuffer(cailbMat.datacailbMat.colscailbMat.rowscailbMat.step);                   //显示图片
}
fileFlag++;
}
else fileFlag=0

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-12-21 16:05  calib_point\
     目录           0  2016-12-21 11:19  calib_point\Win32\
     目录           0  2016-12-25 16:17  calib_point\Win32\Debug\
     文件      145920  2016-12-21 16:01  calib_point\Win32\Debug\calib_point.exe
     文件     1354596  2016-12-21 16:01  calib_point\Win32\Debug\calib_point.ilk
     文件     2640896  2016-12-21 16:01  calib_point\Win32\Debug\calib_point.pdb
     文件         130  2017-01-05 15:29  calib_point\Win32\Debug\data.txt
     目录           0  2016-12-21 15:48  calib_point\calib_point\
     目录           0  2016-12-21 16:01  calib_point\calib_point\Debug\
     文件      151960  2016-12-21 16:01  calib_point\calib_point\Debug\CL.read.1.tlog
     文件        3908  2016-12-21 16:01  calib_point\calib_point\Debug\CL.write.1.tlog
     文件         381  2016-12-21 16:01  calib_point\calib_point\Debug\calib_point.exe.intermediate.manifest
     文件          55  2016-12-21 16:01  calib_point\calib_point\Debug\calib_point.lastbuildstate
     文件        3218  2016-12-21 16:01  calib_point\calib_point\Debug\calib_point.log
     文件      505984  2016-12-21 16:01  calib_point\calib_point\Debug\calib_point.obj
     文件        8342  2016-12-21 16:01  calib_point\calib_point\Debug\cl.command.1.tlog
     文件        3318  2016-12-21 15:59  calib_point\calib_point\Debug\custombuild.command.1.tlog
     文件         694  2016-12-21 15:59  calib_point\calib_point\Debug\custombuild.read.1.tlog
     文件        1078  2016-12-21 15:59  calib_point\calib_point\Debug\custombuild.write.1.tlog
     文件      180149  2016-12-21 11:32  calib_point\calib_point\Debug\displaywgt.obj
     文件        3208  2016-12-21 16:01  calib_point\calib_point\Debug\link.command.1.tlog
     文件        6276  2016-12-21 16:01  calib_point\calib_point\Debug\link.read.1.tlog
     文件        1268  2016-12-21 16:01  calib_point\calib_point\Debug\link.write.1.tlog
     文件      125840  2016-12-21 16:00  calib_point\calib_point\Debug\main.obj
     文件      130758  2016-12-21 16:00  calib_point\calib_point\Debug\moc_calib_point.obj
     文件       99511  2016-12-21 11:25  calib_point\calib_point\Debug\moc_displaywgt.obj
     文件         474  2016-12-21 16:01  calib_point\calib_point\Debug\mt.command.1.tlog
     文件         660  2016-12-21 16:01  calib_point\calib_point\Debug\mt.read.1.tlog
     文件         288  2016-12-21 16:01  calib_point\calib_point\Debug\mt.write.1.tlog
     文件        5186  2016-12-21 11:25  calib_point\calib_point\Debug\qrc_calib_point.obj
     文件     1888256  2016-12-21 16:01  calib_point\calib_point\Debug\vc100.pdb
............此处省略26个文件信息

评论

共有 条评论

相关资源