Matlab风格的Plot类for Mat类OpenCV

【图像处理opencv】_简单绘图 绘图函数 plt.plot(x,y) #绘制折线图 plt.hist(array) #绘制直方图 plt.plot() import numpy as np #导入库 import matplotlib.pyplot as plt x = np.arange(2, 20) #定义函数 y = 2 * x + np.random.randint(5, 20, 18) plt.plot(x, y, '*-', color='r') #'*-'表示点之间连接方式,color='r'... 阅读详情

最近在利用OpenCV处理图片,得到一些数据后发现直接用OpenCV绘制相应的图形有点难度,因为OpenCV没有类似Matlab的plot函数。但是可以需要借助开源代码。在GitHub上找到一个现成的版本, 效果不错,在blog 上还有相应的介绍说明。

GitHub代码地址:https://github.com/jack-Dong/testPolt/ 

blog参考地址:http://blog.youkuaiyun.com/xiaoxiaodongshige/article/details/48134895

不过在OpenCV3.0+vs2013下运行,出现了一些小bug,主要是因为作者在写开源代码时,用的是OpenCV2.X+vs2012。本篇博文的目的是如何在OpenCV3.0+vs2013的环境下成功运行上面开源代码(请到GitHub上下载),绘制相应的图形。

问题一:

用vs2013打开vs2012的程序时,会出现如下图的提示,直接按确定就可以了。

问题二:

生成解决方案时,会出现如下图所示的错误

原因:代码中IplImage* 转换为Mat 类时,用的OpenCV库是2.x版本的方法。而在OpenCV3.0中,该代码在编译的时候会出现错误。

解决办法:

1、打开plot.h,找到下面的内容(在稍靠后部分)

//增加一个函数把C版本的 IplImage 转换成Mat
    Mat figure()
    {
        return Mat(this->Figure);
    }

将上述代码修改为:

//增加一个函数把C版本的 IplImage 转换成Mat
	Mat figure()
	{
	Mat mat = cvarrToMat(Figure);
	return mat;
	}

2、打开plot.cpp,找到下面代码(2.jpg、3.jpg、4.ipg处一样)

imwrite("1.jpg",Mat(plot.Figure));

将上述代码修改为:

Mat mat = cvarrToMat(plot.Figure);
imwrite("1.jpg",mat);

这时重新运行代码就可以啦!

OpenCV每日函数 使用OpenCV的Plot2d绘图模块 此绘图模块允许您轻松绘制一维或二维数据。您可以更改窗口的大小、轴的范围和每个元素的颜色。您还可以实时显示正在构建的绘图或将绘图保存为图像 (png)。 阅读详情

相关推荐

OpenCV绘图模块:使用Plot2D绘制图表

在本文中,我们将详细介绍如何使用OpenCV的Plot2D模块来绘制图表,并附上相应的源代码示例。综上所述,OpenCV的Plot2D模块提供了一个方便易用的工具来创建和绘制各种类型的图表。通过使用Plot2D,你可以将数据可视化,更好地理解和分析数据,以及展示计算机视觉任务的结果。接下来,我们生成了一些示例数据,即x坐标和对应的sin函数值。然后,我们设置了绘图的属性,如绘图区域的大小、线宽、线条颜色和背景颜色。在上面的代码中,我们首先创建了一个空白的图像作为绘图区域,其大小为400x600像素。

loop_syntax648的博客 706

opencv4笔记

它的成立条件是假设直方图最大波峰在靠近最亮的一侧,然后通过三角形求得最大直线距离,根据最大直线距离对应的直方图灰度等级即为分割阈值。,计算简单,不受图像亮度和对比度的影响,它是按图像的灰度特性,将图像分成背景和前景两部分。,当部分前景错分为背景或部分背景错分为前景都会导致两部分差别变小。适用于光照不均衡以及更加复杂的情况下。,由大津于1979年提出,被认为是。大津法OSTU阈值类型——该方法是使用直方图数据,

mdd优快云的博客 650

别再只盯着MES了!半导体/面板厂CIM系统全家桶(EAP/YMS/SPC)保姆级入门指南

本文深入解析半导体制造中的CIM系统,涵盖EAP、YMS和SPC等关键子系统的协同工作。通过实战案例和技术细节,展示如何利用CIM系统提升生产效率、良率管理和设备维护,为半导体/面板厂提供全面的实施指南和优化策略。

weixin_33693070的博客 464

图像处理-图像尺寸变换

文章目录1、尺寸变换2、策略3、代码实现4、效果呈现 1、尺寸变换 图像的尺寸变换实际上就是改变图像的长和宽,实现图像的缩放,在OpenCV4提供了resize函数用于将图像修改成制定尺寸,修改的策略有最近邻插值法,双线性插值法等。 2、策略 标志参数 简记 作用 INTER_NEAREST 0 最近邻插值 INTER_LINEAR 1 双线性插值法 INTER_CUBIC 2 双三次插值 INTER_AREA 3 首选用于图像缩小,图像放大是与nearest类似 INTER

xdg15294969271的博客 1839

FSMC驱动LCD显示屏学习2

液晶显示器,简称 LCD(Liquid Crystal Display)相对于上一代 CRT 显示器 (阴极射线管显示器),LCD显示器具有功耗低、体积小、承载的信息量大及不伤眼的优点,因而它成为了现在的主流电子显示设备液晶是一种介于固体和液体之间的特殊物质,它是一种有机化合物,常态下呈液态,但是它的分 子排列却和固体晶体一样非常规则,因此取名液晶。

usjjjsj的博客 1696

CloudCompare 二次开发(6)——插件中拖拽添加Qt窗口(区域生长算法为例)

手动拖拽的方式搭建Qt对话框界面的制作流程,以PCL中的点云区域生长算法为例进行制作。

点云侠的博客 2153

Matlab风格的Plot类 for OpenCV

plot.h 头文件使用说明 ploth 头文件使用说明 功能说明使用 CPlotPlot 注 功能 Matlab style plot functions for OpenCV  author libing64 && Jack Dong  原代码地址 : https://github.com/libing64/CPlot

wyj613的博客 727

【数字IC基础】DFT(Design For Test)可测性设计

【数字IC基础】DFT(Design For Test)可测性设计

努力,加油每一天鸭~ 3465

MATLAB数学建模实战:从ttest2到潮汐分潮的竞赛级工程实践

数学建模是将现实问题转化为可计算模型的系统工程,其核心在于问题理解、方程构建、数值求解与结果可视化的一体化实现。MATLAB凭借符号计算、鲁棒ODE求解、内置统计检验(如ttest2)及专业可视化能力,在国赛、美赛等场景中成为建模工具链中枢。ttest2默认采用Welch校正处理方差不齐数据,显著提升假设检验可靠性;潮汐分潮建模则依托tidal_fit与FFT频谱分析,实现周期信号的物理可解释分解。这些能力共同支撑城市管网风险演化、电池寿命对比、港口潮位预测等典型应用场景。本文聚焦R2022b及以上版本的实

weixin_34293246的博客 418

手把手带你实现DAF-Net:零代码基础入门红外与可见光图像融合(从理论到实战)

本文介绍了红外与可见光图像融合技术及DAF-Net网络的应用。红外图像能捕捉热源但缺乏细节,可见光图像纹理丰富但在低光环境下表现不佳。DAF-Net采用双分支特征提取和动态注意力融合架构,能智能分配特征权重实现优势互补。文章详细讲解了环境配置、数据集准备(如TNO数据集)和预处理方法,并提供了DAF-Net的核心代码实现,包括特征提取、注意力融合和图像重建模块。通过该技术可在安防、自动驾驶等领域获得更优质的融合图像,提升视觉感知能力。

m0_71589036的博客 229

使用 Python 爬虫抓取 IMDb 电影信息 - 评分、评论与基本信息抓取教程

本文介绍了如何使用 Python 爬虫技术抓取 IMDb 电影评分、评论和基本信息。我们分别展示了通过IMDb API和两种方法抓取数据,并进行了数据存储、分析与可视化。在未来,我们还可以基于这些数据开发电影推荐系统、情感分析工具等,进一步丰富电影数据的应用场景。通过这些实践,您不仅学会了如何抓取和存储数据,还可以通过这些基础来构建自己的数据分析应用,获取更丰富的电影数据。

2201_76125261的博客 601

OpenCV440(以及340)曲线绘制工具

opencv340以及440曲线绘制工具

诺有缸的高飞鸟的博客 960

【STM32系统】基于STM32+手机APP设计的智能停车场系统

功能简介1、进出停车场时需要刷卡,进行一个记时、计费的功能。2、停车位配有超声波检测,主要识别车位是否被占用。3、车位区域配有OLED显示屏,用户可以通过显示屏看到空闲车位。4、车位配有车位灯。当用户找不到车位可以通过手机点亮车位灯5、停车场配有温湿度检测和烟雾检测模块。当环境发生异常状态。会触动紧急报警。6、停车场信息会通过Wi-Fi发送数据上传至阿里云。用户可以通过手机了解到停车场空闲车位和停车时间、费用。

嵌入式阿齐Archie 2万+

使用opencv 绘制数据图

1. 前言去北京的高铁上, 老板估计是看我们看视频不太爽, 于是让我们写一个用opencv处理数据并绘制相应图形的小程序, 使用matlab非常简单, 可以用opencv 真就呵呵了。百度之后,找到一个现成的版本, 效果不错, 不过有些小bug 参考: http://blog.youkuaiyun.com/xiaoxiaodongshige/article/details/481348952. 显示效果3.

zhyh1435589631的专栏 1万+

汽车UDS诊断详解及Vector相关工具链使用说明——1.1 应用层协议整体介绍

本文我们先从整体的维度来介绍一下应用层协议,每个UDS服务都遵循本文中的协议。 一、SI(Service ID) SI是UDS指令的第一个字节,我们第一篇文章中提到的10等服务就是指这个服务的SI=0x10,它是服务的标识,每个服务的SI都是唯一的。 ...

weixin_42967006的博客 5474

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OpenCV学习笔记(五)——图片的缩放、旋转、平移、裁剪以及翻转操作

本文主要描写的是对图像的操作,包括对图像的缩放,图像的平移、图像的旋转、图像的裁剪、图像的翻转内容。

qq_54186956的博客 3166

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

matlab中format使用方法

matlab中专用命令 format用于针对数据的显示形式进行控制,但该命令不影响数据的储存形式和计算精度 format:设置输出格式 对浮点性变量,缺省为format short。另外,format short, long不影响整型变量的显示。 format    默认格式 format short   5字长定点数,显示5位(scaled fixed point format with...

xuxinrk的博客 6万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

OpenCV—学习基本绘图

Size类的相关源代码: Size_模版类的定义:示例: 4、矩形的表示:Rect()类 Size():返回值为Size; area():返回矩形的面积; contains(Point):判断点是否在矩形内; inside(Rect):判断矩形是否在该矩形内 tl():返回左上角坐标 br():返回右下角点坐标 (2)求矩阵的交集和并集 (3)矩形平移操作 (4)矩形缩放操作 5、颜色空间转换:cvColor()函数 原型如下: 第一个参数:输入图像。 第二个参数:输出图像 第三个参数:颜

qq_44859533的博客 2231

OpenCV-尺寸调整cv::resize

函数原型:void resize( InputArray src, OutputArray dst,Size dsize, double fx = 0, double fy = 0,int interpolation = INTER_LINEAR );

翟天保的博客 1万+

opencv:matplotlib.pyplot模块

1.subplot函数 模块matplotlib.pyplot提供了函数matplotlib.pyplot.subplot()用来向当前窗口内添加一个子窗口对象。该函数的语法格式为: matplotlib.pyplot.subplot(nrows,ncols,index) nrows为行数。 ncols为列数。 index为窗口序号(序号是从1开始的) import cv2 imp...

ch_musk的博客 1051

opencv 图像插值方法介绍和选择

在图像缩放处理中,插值方法用于在原始像素之间生成新的像素值,以获得更平滑或更清晰的缩放效果。OpenCV提供了多种插值方法,适用于不同的缩放需求(如图像放大、缩小、平滑处理等)。

ljn1046016768的博客 1662

Matlab for循环plot输出

f1 = 1:35; v11(1) = 0; v10(1) = 0; x11(1) = 74; x10(1) = 66.6; for i=1:length(f1); (循环内容) end figure %因为矩阵从1开始 故需要回减1 plot(f1-1,a11,f1-1,a10); ylabel('纵坐标信息'); xlabel('横坐标信息'); f1为设置的长度。用f1的长...

菜鸡笔记 2万+

转载:matlab for循环plot 属性设置

在画图前使用下列命令改变Matlab默认的属性,这个属性会在Matlab重启后被重置(成默认属性) set(0,'DefaultAxesLineStyleOrder','-|-.|--|:'); 注:且在每个plot后面在加上hold all 例子: set(0,'DefaultAxesColorOrder',[1 0 0;0 1 0;0 0 1],... 'DefaultAxesLineStyleOrder','-|--|:') %这里为便于理解,所以也改变了颜色的默认属性,颜色一般不用改变; ...

SNR_SNR的博客 3201

opencv 3.4编译在ocl_test.hpp中 INTER_LINEAR_EXACT 找不到声明

使用cmake按照网络教程配置生成Makefile文件 当sudo make后,编译到一个地方(ocl_test.hpp),出错:error: INTER_LINEAR_EXACT was not definxxxxxxx xxx xxxxxxxxxxxx in scope。具体咋写的忘了,这里只是示意问题,意思是在本域内没定义。。。。。百度、谷歌到处翻帖子找解决方法没找到。。。。。索性自己找的

insanegtp的博客 4530

MATLAB 常用命令和使用语法以及plot画图讲解(一)

MATLAB 常用命令,使用语法,以及plot,plotyy,plot3函数用法讲解

吾与春风皆过客 5522

[转载]Matlab风格的二维绘图函数Plot(OpenCV)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

weixin_42920501的博客 355
上一篇: OpenCV学习:Laplacian求图像清晰度,并将数据保存为xml文件
下一篇: 自制OpenCV的C++ dll文件,C#调用OpenCV函数
Timy_
博客等级 码龄9年 5粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值