当前位置: 首页 > wzjs >正文

成都手机网站开发福建网络seo关键词优化教程

成都手机网站开发,福建网络seo关键词优化教程,怎样做风水网站,app下载排行榜1、图像传参 需要把图像变量声明为全局变量,这样才可以进行互传 也可以直接返回图像类型的变量进行互传,然后调用此函数就可以了; 但是前提依然是要声明全局变量 .h文件 public:explicit celiang(QWidget *parent 0);~celiang();HObject …

1、图像传参

    需要把图像变量声明为全局变量,这样才可以进行互传

也可以直接返回图像类型的变量进行互传,然后调用此函数就可以了;

但是前提依然是要声明全局变量

.h文件

public:explicit celiang(QWidget *parent = 0);~celiang();HObject  ho_Image;private slots:HObject on_pushButton_clicked();

.cpp文件

//打开图像
HObject celiang::on_pushButton_clicked()
{HTuple  hv_Width, hv_Height;//传入路径QString path = QFileDialog::getOpenFileName(this,"选择图片","","JPG文件(*.jpg;*.bmp)");//  if(path == "") return;//读图HTuple file2=HTuple(path.toStdString().c_str());ReadImage(&ho_Image,file2);//直径读取图像// ReadImage(&ho_Image, "./data/1");//获取图像大小GetImageSize(ho_Image, &hv_Width, &hv_Height);//HDevWindowStack::Push(hv_WindowHandle);//901  661  容纳不了//set part  ---适应一个大窗口上去SetPart(hv_WindowHandle02,0, 0, hv_Height, hv_Width);// dispimage(ho_Image);//显示 GetActive 默认哪个激活状态DispObj(ho_Image,hv_WindowHandle02);return ho_Image;//注意注意注意}

.h文件

#define CELIANG_H#include <QWidget>#include"MvCameraControl.h"
#include <QImage>
#include "HalconCpp.h"
using namespace HalconCpp;extern HTuple hv_WindowHandle02;namespace Ui {
class celiang;
}class celiang : public QWidget
{Q_OBJECTpublic:explicit celiang(QWidget *parent = 0);~celiang();HObject  ho_Image;   //注意注意注意void  disp_message (HTuple hv_WindowHandle, HTuple hv_String, HTuple hv_CoordSystem,HTuple hv_Row, HTuple hv_Column, HTuple hv_Color, HTuple hv_Box);void  dispimage(HObject &ho_Image);private slots:void on_pushButton_clicked();void on_pushButton_2_clicked();private:Ui::celiang *ui;
};#endif // CELIANG_H

.cpp文件

#include "celiang.h"
#include "ui_celiang.h"
#include <mainwindow.h>
#include <QFileDialog>
#include <qdebug.h>
celiang::celiang(QWidget *parent) :QWidget(parent),ui(new Ui::celiang)
{// 在类的构造函数或初始化函数中添加qRegisterMetaType<HalconCpp::HObject*>("HalconCpp::HObject*");ui->setupUi(this);
}celiang::~celiang()
{delete ui;
}//打开图像
void celiang::on_pushButton_clicked()
{HTuple  hv_Width, hv_Height;//传入路径QString path = QFileDialog::getOpenFileName(this,"选择图片","","JPG文件(*.jpg;*.bmp)");if(path == "") return;//读图HTuple file2=HTuple(path.toStdString().c_str());ReadImage(&ho_Image,file2);//直径读取图像// ReadImage(&ho_Image, "./data/1");//获取图像大小GetImageSize(ho_Image, &hv_Width, &hv_Height);//HDevWindowStack::Push(hv_WindowHandle);//901  661  容纳不了//set part  ---适应一个大窗口上去SetPart(hv_WindowHandle02,0, 0, hv_Height, hv_Width);dispimage(ho_Image);//显示 GetActive 默认哪个激活状态DispObj(ho_Image,hv_WindowHandle02);//图像处理算法//GenCircleCenterFromBlob(ho_Image, &hv_Row1, &hv_Column1, &hv_Radius);
}//显示图像
void celiang::dispimage( HObject  &ho_Image)
{//  HObject ho_Image ;DispObj(ho_Image,hv_WindowHandle02);
}//进行图像处理
void celiang::on_pushButton_2_clicked( )
{// Local iconic variablesHObject   ho_GrayImage, ho_Regions, ho_RegionFillUp;HObject  ho_ImageReduced, ho_Regions1, ho_RegionDilation;HObject  ho_RegionErosion, ho_RegionDifference, ho_ImageReduced1;HObject  ho_Edges, ho_SelectedXLD, ho_UnionContours, ho_Cross;HObject  ho_ContCircle;// Local control variablesHTuple  hv_I, hv_Width, hv_Height;HTuple  hv_Row, hv_Column, hv_Radius, hv_StartPhi, hv_EndPhi;HTuple  hv_PointOrder, hv_Number, hv_li, hv_Index, hv_message;hv_I=1;// ReadImage(&ho_Image, "./data/"+hv_I);//判断图像存在不存在if (!ho_Image.IsInitialized() || ho_Image.CountObj() == 0){QMessageBox::warning(this,QString::fromLocal8Bit("警告"),QString::fromLocal8Bit("图像不存在"));return;}//调用显示图像函数dispimage( ho_Image);//获取图像大小GetImageSize(ho_Image, &hv_Width, &hv_Height);//HDevWindowStack::Push(hv_WindowHandle);//901  661  容纳不了//set part  ---适应一个大窗口上去SetPart(hv_WindowHandle02,0, 0, hv_Height, hv_Width);SetLineWidth(hv_WindowHandle02,2);// DispObj(ho_Image, hv_WindowHandle02);Rgb1ToGray(ho_Image, &ho_GrayImage);Threshold(ho_GrayImage, &ho_Regions, 0, 104);FillUp(ho_Regions, &ho_RegionFillUp);ReduceDomain(ho_GrayImage, ho_RegionFillUp, &ho_ImageReduced);Threshold(ho_ImageReduced, &ho_Regions1, 151, 255);DilationCircle(ho_Regions1, &ho_RegionDilation, 20);ErosionCircle(ho_Regions1, &ho_RegionErosion, 20);Difference(ho_RegionDilation, ho_RegionErosion, &ho_RegionDifference);ReduceDomain(ho_GrayImage, ho_RegionDifference, &ho_ImageReduced1);EdgesColorSubPix(ho_ImageReduced1, &ho_Edges, "canny", 2, 40, 120);SelectShapeXld(ho_Edges, &ho_SelectedXLD, "area", "and", 150, 999990);UnionCocircularContoursXld(ho_SelectedXLD, &ho_UnionContours, 0.5, 0.1, 0.2,30, 10, 10, "true", 1);FitCircleContourXld(ho_UnionContours, "algebraic", -1, 0, 0, 3, 2, &hv_Row, &hv_Column,&hv_Radius, &hv_StartPhi, &hv_EndPhi, &hv_PointOrder);GenCrossContourXld(&ho_Cross, hv_Row, hv_Column, 36, hv_StartPhi);GenCircleContourXld(&ho_ContCircle, hv_Row, hv_Column, hv_Radius, 0, HTuple(360).TupleRad(),"positive", 1);CountObj(ho_ContCircle, &hv_Number);hv_li = 566.519/24;if (HDevWindowStack::IsOpen())ClearWindow(HDevWindowStack::GetActive());if (HDevWindowStack::IsOpen())DispObj(ho_Image, HDevWindowStack::GetActive());if (HDevWindowStack::IsOpen())DispObj(ho_ContCircle, HDevWindowStack::GetActive());if (HDevWindowStack::IsOpen())DispObj(ho_Cross, HDevWindowStack::GetActive());//dev_display (Edges){HTuple end_val53 = hv_Number-1;HTuple step_val53 = 1;for (hv_Index=0; hv_Index.Continue(end_val53, step_val53); hv_Index += step_val53){// 将数值结果转换为字符串double diameter = (hv_Radius[hv_Index].D() * 2) / hv_li.D();// 构建Qt字符串(直接使用Unicode中文)QString qsMessage = QString::fromLocal8Bit("直径: %1 mm").arg(diameter, 0, 'f', 6) ; // 保留两位小数//     QString qsMessage = QString::fromLocal8Bit("直径: ")+ QString::number(diameter)+"mm" ; // 保留两位小数// 转换QString为Halcon需要的HTupleHTuple hv_message = HTuple(qsMessage.toUtf8().constData());//  hv_message = //'直径为:'// "\326\261\276\266\316\252\243\272"+((HTuple(hv_Radius[hv_Index])*2)/hv_li);disp_message(hv_WindowHandle02, hv_message, "Image", HTuple(hv_Row[hv_Index]),HTuple(hv_Column[hv_Index]), "black", "true");}}// stop(...); only in hdevelop}

2、判断图像是否为空

  //判断图像存在不存在if (!ho_Image.IsInitialized() || ho_Image.CountObj() == 0){QMessageBox::warning(this,QString::fromLocal8Bit("警告"),QString::fromLocal8Bit("图像不存在"));return;}



3、UI界面互传

1.在头文件声明指针类型

QTextBrowser * g_pTb;

2.在构造函数中赋值传参

  g_pTb=ui->textBrowser;//这个就是主程序的UI界面

3.在其它类中引用主程序的UI界面

extern QTextBrowser * g_pTb;


同理,窗口引用也是此方法(只不过不用使用指针也可以)

1.声明

HTuple hv_WindowHandle01;

2.其它类直接引用

extern HTuple hv_WindowHandle01;

http://www.dtcms.com/wzjs/165366.html

相关文章:

  • 网站网页设计怎么收费百度竞价推广计划
  • php网站开发打不开东莞seo计费管理
  • 郑州短视频培训机构西安做推广优化的公司
  • 2016织梦小说网站源码今日重大新闻头条十条
  • 淮安企业网站推广哪些app最挣钱
  • 网站建设 万网 域名长沙网站制作关键词推广
  • 佛山企业网站建设多少钱沈阳网站关键词优化多少钱
  • 建站公司咨询seo渠道是什么意思
  • 网页开发基础实验总结舟山seo
  • 用动易做的校园网站域名查询站长之家
  • 三水顺德网站建设宠物美容师宠物美容培训学校
  • 用ps做网站企业关键词优化最新报价
  • 铁岭做网站公司哪家好深圳短视频seo教程
  • 淘宝客如何做淘宝客网站百度推广最简单方法
  • 6网页设计的网站百度学术查重
  • 起名网站开发市场调研分析报告怎么写
  • 广州网站建设网站推广网络推广的目标
  • 做电脑系统最好的网站长沙seo男团
  • 云南高端网站制作价格怎样在百度上宣传自己的产品
  • 网站建设推广平台成人职业技能培训有哪些项目
  • wordpress隐藏后台登录廊坊seo排名外包
  • 盐城做网站需要多少钱竞价服务托管公司
  • 西安网站建设品牌公司推荐软文营销是什么
  • 免费制作微网站百度seo关键词排名优化教程
  • 开了外网网站打不开广告联盟推广
  • 视频链接生成器seo网络推广知识
  • wordpress搭建下载站域名信息查询
  • 建立一个公司自己的网站seo快速排名软件推荐
  • linux下做网站什么是seo搜索优化
  • 汇川区住房和城乡建设厅网站足球比赛直播