栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

基于Qt和OpenCV的工业视觉检测APP

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于Qt和OpenCV的工业视觉检测APP

基于Qt与OpenCV的工业视觉检测APP 主要功能

颜色识别,角度检测,数字识别,TCP通讯

主界面

包含功能:模板图片集获取,模板图片集清除,端口选择,开启端口监听,关闭端口监听,检测结果发送下位机(本次演示所用下位机为 ABB的IPB 120 型机械臂)

演示效果

IP摄像头演示

实机演示

部分源码

主界面

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include 
#include 
#include 
#include 
#include 
#include 
#include "ip_camera_setting.h"
#include 
#include 
#include 
#include 
#include 
#include "color_detector.h"
#include "angle_detector.h"
#include 
#include 
#include "contourwithdata.h"

using namespace std;

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    void MennBarInit(); //菜单初始化

private slots:

    void on_quit_button_clicked();  //退出按钮

    void on_clear_button_clicked(); //清除按钮

    void local_camera_open();   //打开本地摄像头

    void ip_camera_open(std::string address, std::string port);  //打开ip摄像头

    cv::Mat camera_capture(cv::Mat frame); //拍照

    void server_open_port(int port);    //服务器监听端口

    void server_accept_connection();    //服务器接受连接

    void server_send(const QString &data);  //服务器发送数据

    std::string temp( cv::Mat frame );    //临时函数
    std::string detect_color(cv::Mat imgOriginal);    //颜色检测

//    void on_test_clicked(); //测试按钮

    void on_Server_startup_clicked();

    void on_capture_clicked();

    void on_clear_templates_clicked();

protected:
    void closeEvent(QCloseEvent *event) override;

private:
    Ui::MainWindow *ui;

    QString result;

    cv::Mat frame;
    std::vector img_template;   //用于存储模板图像
    cv::VideoCapture capture;
    std::string camera_IP, camera_port;
    cv::Mat frame_temp;
//    int num = 0;

    ip_camera_setting *ip_camera_setting_widget;

    QTcpServer *tcpServer;
    QTcpSocket *tcpSocket;

    QTimer *camera_timer;

    color_detector *col_detector;

    int template_num = 0;
//    angle_detector *agl_detector;

    Angle_detector *a;	//角度+数字识别
};
#endif // MAINWINDOW_H

颜色识别

#ifndef COLOR_DETECTOR_H
#define COLOR_DETECTOR_H

#include 
#include 
#include 

using namespace std;

class color_detector
{
public:
    color_detector(cv::Mat imgOriginal);	

    QString color_result();		//识别结果

private:
    QString color;  	//颜色编号
};

#endif // COLOR_DETECTOR_H

项目获取

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/983224.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号