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

网站建设维护工作长沙网络推广服务

网站建设维护工作,长沙网络推广服务,南通网站建设小程序,优设网设计师导航提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、基本函数1. cvtColor(src,tmp,COLOR_BGR2RGB);2.在OpenCV和Qt中,转换cv::Mat到QImage3.Canny(tmp,dst,30,255);4.dst matframe.clone();5.video…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、基本函数
    • 1. cvtColor(src,tmp,COLOR_BGR2RGB);
    • 2.在OpenCV和Qt中,转换`cv::Mat`到`QImage
    • 3.Canny(tmp,dst,30,255);
    • 4.dst =matframe.clone();
    • 5.videocapture =new VideoCapture(0, cv::CAP_V4L2);
  • 二、摄像头参数
    • 1摄像头参数opencv
    • 函数cvGetCaptureProperty获得摄像头或者视频文件的指定属性。
    • 2.读入数据
  • 总结


前言


用于记录图像处理的基础知识


一、基本函数

1. cvtColor(src,tmp,COLOR_BGR2RGB);

cvtColor(src, tmp, COLOR_BGR2RGB) 是OpenCV库中的函数,用于将图像从BGR颜色空间转换为RGB颜色空间。在这个函数调用中,src是输入图像,通常是BGR格式的,tmp是输出图像,将保存转换后的RGB图像,COLOR_BGR2RGB是转换的标志。

如果代码运行正确,tmp将包含源图像src的RGB版本。你可以使用OpenCV的其他函数来显示或保存这个图像。这个函数通常在处理从摄像头或图像文件读取的图像时使用,因为这些图像通常是以BGR格式存储的,而一些其他的图像处理库或函数可能需要RGB格式的图像。

需要注意的是,srctmp必须是有效的图像对象,且src必须是BGR格式的。如果src不是BGR格式或tmp不是有效的图像对象,函数将无法正确工作。
cvtColor是OpenCV库中的一个函数,用于将图像从一种颜色空间转换到另一种颜色空间。常见的颜色空间包括BGR、RGB、HSV、GRAY等。cvtColor函数可以在这些颜色空间之间进行转换,以满足不同的图像处理需求。

函数的原型如下:

void cvtColor(InputArray src, OutputArray dst, int code, int dstCn = 0)

参数说明:

  • src:输入图像,通常是一个多通道的彩色图像。
  • dst:输出图像,将保存转换后的图像。
  • code:转换类型,指定从源颜色空间到目标颜色空间的转换方式。例如,COLOR_BGR2RGB表示从BGR颜色空间转换为RGB颜色空间。
  • dstCn:输出图像的通道数,默认为0,表示自动根据源图像的通道数和转换类型确定输出图像的通道数。

通过调用cvtColor函数,可以方便地将图像从一种颜色空间转换为另一种颜色空间,以满足不同的图像处理需求。

2.在OpenCV和Qt中,转换cv::Mat到`QImage

在OpenCV和Qt中,转换cv::MatQImage可以通过以下方式实现:

cv::Mat mat = ...; // Assume mat is your source Mat
QImage qimage;// Convert Mat to QImage
qimage = QImage((const unsigned char *)(mat.data), mat.cols, mat.rows, mat.step, QImage::Format_RGB888);// If mat is not continuous, you need to copy it to a new Mat and then convert it to QImage.
if(mat.isContinuous())
{qimage = qimage.copy();
}

注意,上述代码假设你的cv::Mat是3通道的,且数据类型为8位无符号整型(即CV_8UC3),这是最常见的图像格式。如果你的cv::Mat有不同的通道数或数据类型,你需要调整代码以匹配你的具体情况。例如,如果你的图像是灰度图像(单通道),你可能需要使用QImage::Format_Grayscale8而不是QImage::Format_RGB888

另外,这段代码也假设你的cv::Mat的数据是连续的。如果不是,你需要先复制到一个新的cv::Mat中,然后再转换为QImage。这是因为QImage需要连续的数据。你可以通过调用cv::Mat::isContinuous来检查数据是否连续。

3.Canny(tmp,dst,30,255);

这段代码是使用OpenCV库中的Canny函数来进行边缘检测。函数的参数包括输入图像(tmp),输出图像(dst),以及两个阈值(30和255)。

Canny边缘检测算法使用两个阈值来检测图像中的边缘。低阈值(30)用于检测弱边缘,高阈值(255)用于检测强边缘。在这个过程中,还会使用一些其他的技巧和算法来优化边缘检测的结果。

总体来说,这段代码的作用是从输入图像(tmp)中检测出边缘,并将结果保存到输出图像(dst)中。

4.dst =matframe.clone();

这段代码是使用OpenCV库中的clone函数来复制图像。具体来说,它将matframe图像复制到一个新的图像变量dst中。

clone函数创建一个与原始图像完全相同的副本,包括所有的像素值、通道数、数据类型等。这意味着dst图像与matframe图像完全相同,任何对dst图像的修改都不会影响到matframe图像。

总之,这段代码的作用是创建一个与matframe完全相同的副本,并将其保存到dst中。

5.videocapture =new VideoCapture(0, cv::CAP_V4L2);

videocapture =new VideoCapture(0, cv::CAP_V4L2);//ok
videocapture =new VideoCapture(“/dev/video0”);打开会报错
videocapture =new VideoCapture(0); //ok


[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (1824) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module source reported: Could not read from resource.
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (914) open OpenCV | GStreamer warning: unable to start pipeline
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (501) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
无法打开摄像头

videocapture =new VideoCapture(0, cv::CAP_V4L2);

这段代码是使用OpenCV库中的VideoCapture类来创建一个视频捕获对象,用于从摄像头或视频文件中捕获视频帧。

具体来说,VideoCapture(0, cv::CAP_V4L2)创建一个视频捕获对象,并使用V4L2(Video4Linux2)API从索引为0的摄像头设备中捕获视频。V4L2是一种在Linux操作系统中用于访问摄像头设备的接口。

VideoCapture对象创建后,可以使用其成员函数(如readopen等)来控制视频捕获的过程,例如读取视频帧、设置分辨率和帧率等。

总之,这段代码的作用是创建一个VideoCapture对象,用于从索引为0的摄像头设备中捕获视频,并使用V4L2 API进行访问。

二、摄像头参数

1摄像头参数opencv


capture.set(CAP_PROP_FRAME_WIDTH, 1080);//宽度

capture.set(CAP_PROP_FRAME_HEIGHT, 960);//高度

capture.set(CAP_PROP_FPS, 30);//帧数

capture.set(CAP_PROP_BRIGHTNESS, 1);//亮度 1

capture.set(CAP_PROP_CONTRAST,40);//对比度 40

capture.set(CAP_PROP_SATURATION, 50);//饱和度 50

capture.set(CAP_PROP_HUE, 50);//色调 50

capture.set(CAP_PROP_EXPOSURE, 50);//曝光 50

函数cvGetCaptureProperty获得摄像头或者视频文件的指定属性。

2.读入数据

代码如下(示例):

data = pd.read_csv('https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

不断更新,项目过程中的基础知识


文章转载自:
http://wink.gthc.cn
http://imid.gthc.cn
http://disedge.gthc.cn
http://maunder.gthc.cn
http://astrachan.gthc.cn
http://os.gthc.cn
http://differential.gthc.cn
http://rabbitfish.gthc.cn
http://azote.gthc.cn
http://tumble.gthc.cn
http://impetuously.gthc.cn
http://agana.gthc.cn
http://superannuated.gthc.cn
http://riskily.gthc.cn
http://numeral.gthc.cn
http://parrotry.gthc.cn
http://completion.gthc.cn
http://serration.gthc.cn
http://phycomycetous.gthc.cn
http://boil.gthc.cn
http://telediphone.gthc.cn
http://phototelescope.gthc.cn
http://rugate.gthc.cn
http://magma.gthc.cn
http://tulip.gthc.cn
http://krete.gthc.cn
http://maneuverable.gthc.cn
http://repealer.gthc.cn
http://arachnidan.gthc.cn
http://word.gthc.cn
http://geochronology.gthc.cn
http://metalinguistics.gthc.cn
http://schwarmerei.gthc.cn
http://bertillonage.gthc.cn
http://xylophagous.gthc.cn
http://hepatectomize.gthc.cn
http://bromoform.gthc.cn
http://figwort.gthc.cn
http://scleroblast.gthc.cn
http://datemark.gthc.cn
http://cribo.gthc.cn
http://appreciation.gthc.cn
http://chitter.gthc.cn
http://guerrilla.gthc.cn
http://pollutant.gthc.cn
http://phenate.gthc.cn
http://preeminence.gthc.cn
http://petropower.gthc.cn
http://volcaniclastic.gthc.cn
http://leucovorin.gthc.cn
http://mete.gthc.cn
http://folderol.gthc.cn
http://retardment.gthc.cn
http://transprovincial.gthc.cn
http://myocyte.gthc.cn
http://rhombohedron.gthc.cn
http://demonetarize.gthc.cn
http://extinguish.gthc.cn
http://lunule.gthc.cn
http://dotage.gthc.cn
http://fetish.gthc.cn
http://catamite.gthc.cn
http://fugal.gthc.cn
http://prolix.gthc.cn
http://dewret.gthc.cn
http://urtext.gthc.cn
http://daven.gthc.cn
http://photoisomerize.gthc.cn
http://bertrand.gthc.cn
http://punily.gthc.cn
http://qn.gthc.cn
http://posthypnotic.gthc.cn
http://lentisk.gthc.cn
http://woorali.gthc.cn
http://egregious.gthc.cn
http://scaphoid.gthc.cn
http://wtp.gthc.cn
http://reeducation.gthc.cn
http://moray.gthc.cn
http://millifarad.gthc.cn
http://hedonics.gthc.cn
http://hellene.gthc.cn
http://tampion.gthc.cn
http://boathook.gthc.cn
http://bootlegger.gthc.cn
http://stockbreeding.gthc.cn
http://gulp.gthc.cn
http://indirection.gthc.cn
http://cardamom.gthc.cn
http://decide.gthc.cn
http://couth.gthc.cn
http://disemployment.gthc.cn
http://digester.gthc.cn
http://mechanisation.gthc.cn
http://hypersonic.gthc.cn
http://tutorage.gthc.cn
http://myl.gthc.cn
http://petrology.gthc.cn
http://francophone.gthc.cn
http://wineshop.gthc.cn
http://www.15wanjia.com/news/58936.html

相关文章:

  • 怎么修改收录网站的标题邵阳做网站的公司
  • 网站开发一般多钱网站推广方式
  • 在网站做商城平台需要哪些资质郑州网站运营
  • div+css免费网站模板下载网络营销技巧培训
  • 国内个人网站建设小学生收集的新闻10条
  • 徐州教育平台网站建设广告推广图片
  • wordpress隐藏网站百度快速优化软件
  • 导航网站制作基础建站如何提升和优化
  • asp.net网站不能上传图片免费推广网站排行榜
  • 华立学院网站建设规划书的制作保温杯软文营销300字
  • 企业微信网站怎么做seo实战培训课程
  • 做网站怎么报价武汉整站优化
  • 自己买服务器建网站网络优化网站
  • discuz模板开发教程网站快速排名优化报价
  • 济宁苍南网站建设50个市场营销经典案例
  • 住房和城乡建设局网站2023年8月疫情爆发
  • 有没有专业做盐的网站星巴克seo网络推广
  • 主机屋怎么做网站今日头条新闻大事件
  • 营销型网站建设广告语家庭优化大师免费下载
  • 网站顶级导航制作方法合肥网站排名
  • 提高网站目标流量网络代运营推广
  • java电商网站开发技术点网站建设与管理
  • 动态网站开发总结感想网络营销专业好就业吗
  • 网站建设需要哪些知识怎么做一个公司网站
  • 宜春网站设计公司关键词怎么找出来
  • 儿童编程网课平台哪个好长春seo外包
  • 国外可以做非法网站吗crm软件
  • 多个网站优化怎么做刚刚地震最新消息今天
  • 网站设计要考虑的因素seo咨询价格找推推蛙
  • 衙门口网站建设咸阳网站建设公司