
Opencv
文章平均质量分 68
Opencv
Dontla
这个作者很懒,什么都没留下…
展开
-
Opencv无法写入:img marked as output argument, but provided NumPy array marked as readonly(Opencv操作只读内存)
当尝试在只读的NumPy数组上使用绘图函数时(比如从某些不可变数据源加载的图像),而OpenCV需要可写缓冲区来绘制图形。这不是文件目录写入权限问题,而是内存中的图像数据不可修改导致的。原创 2025-03-06 11:37:22 · 975 阅读 · 0 评论 -
海康摄像头 海思AI芯片(Hi35XX): 图像jpg转.bgr
前言把一张jpg图片转成bgr(注意顺序是bgr)二进制文件,最近在弄华为Hi3516DV300开发板上的一些深度学习的样例程序,换言之,35xx nnie SDK只支持BGR以及yuv格式的数据输入。那么当手头刚好只有jpeg/png等图片文件时,怎么来进行目标识别呢,一般的思路是用opencv来读取图片文件,然后再转换成BGR/YUV等格式,最后扔到NNIE模块来进行深度学习推理。本篇讲解jpg转bgr,也就是它的输入文件不是普通的jpg,而是bgr格式的二进制文件,还别说,这样确实是大大节省了空间转载 2022-03-16 22:53:25 · 1264 阅读 · 0 评论 -
vs cmake opencv 远程 ubuntu 开发时:vs代码出现紫色波浪线且报错怎么办?
解决办法:先将cmake设置里的IntelliSense模式改成linux-gcc-x64然后ctrl+s发现可能还是呈紫色且报错接下来切换一下这里,在这两个之间切换,然后紫色波浪线和报错即可消除(再不行就重新生成一遍代码)参考文章:VS远程调试(Visual Studio)远程连接到linux cmake(跨平台开发)(适用于VS2019,且远程目标平台cmake版本大于等于3.8)...原创 2022-02-23 00:58:09 · 2845 阅读 · 0 评论 -
VS cmake 远程开发 opencv报错:CMake was unable to find a build program corresponding to “Ninja“.(换个构建方式)
1> /usr/bin/cmake -G "Ninja" -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="$HOME/.vs/vs_opencv_cmake_remote_test/5fadcd68-7b57-47e8-ae56-74e16e9eeead/out/install/Arnold_Opencv_Linux-GCC-Debug" "/home/arnold/.vs/vs_opencv_cmake_remote原创 2022-02-23 00:27:59 · 2431 阅读 · 0 评论 -
opencv中LINE_4和LINE_8的区别?
依次是LINE_4、LINE_8、LINE_AA,LINE_AA反锯齿后更。。。参考文章:LINE_4、LINE_8 是什么意思?原创 2022-02-09 23:00:47 · 2528 阅读 · 0 评论 -
VS远程调试(Visual Studio)远程连接到linux cmake(跨平台开发)(适用于VS2019,且远程目标平台cmake版本大于等于3.8)
参考文章:使用vs2019进行Linux远程开发1、安装 c++ for Linux(我修改的时候把嵌入式lot啥的也勾上了,不知道那个干什么用的)2、原创 2022-02-09 21:40:52 · 8783 阅读 · 0 评论 -
Linux ubuntu16.04 安装opencv4教程(源码编译)
参考文章1:Ubuntu 安装 OpenCV(亲测有效)参考文章2:OpenCV - Linux(Ubuntu 16.04)中安装OpenCV + OpenCV_Contrib文章目录1.安装准备:1.1 安装cmake1.2 依赖环境1.3下载opencv2.安装2.1解压文件2.2 创建build目录进入build目录编译配置一些OpenCV的编译环境测试安装是否成功代码测试1.安装准备:1.1 安装cmakesudo apt-get install cmake1.2 依赖环境sudo原创 2022-02-08 22:28:31 · 2902 阅读 · 0 评论 -
opencv converTO()函数 转换图像的数据类型不改变通道数,注意与cvtColor()改变颜色空间/彩色空间/色彩空间函数区分
注意与cvtColor()函数的区别,cvtColor改变颜色空间,通道数也会改变,converTo只改变数据类型,不改变通道数,原来是几个通道转换后还是几个通道示例:src.convertTo(m1, CV_32F);参考文章1:OpenCV Mat类的convertTo函数,数据类型转换参考文章2:为什么要把CV_8UC3(Vec3b)无符号整型转换成CV_32F(Vec3F)32位浮点数据类型?(在高精度下处理)...原创 2022-02-07 18:10:47 · 985 阅读 · 0 评论 -
【opencv4】opencv视频教程 C++ 7、手动调整图像亮度与对比度 g(i, j) = αf(i, j) + β(点操作与邻域操作概念)
上一讲:【opencv4】opencv视频教程 C++ 6、图像混合、线性混合、混合权重相加addWeighted()、混合加add()、混合乘multiply()[opencv_C++] 入门强推!!!【B站最全】文章目录亮度与对比度公式(点操作与邻域操作概念)重要的api代码演示:提高图像对比度亮度与对比度公式(点操作与邻域操作概念)公式中α影响对比度,β影响亮度(α影响相邻像素之间的差值,差值越大,对比度越大;β影响整体像素的值,整体增大则亮度增大)点操作如调整图像亮度和对比度邻域操作如原创 2022-02-07 18:04:43 · 900 阅读 · 0 评论 -
为什么要把CV_8UC3(Vec3b)无符号整型转换成CV_32F(Vec3F)32位浮点数据类型?(在高精度下处理)
因为用CV_32F做处理精度较高,后面显示最终还得转换回cv_8UC3示例:提高图像对比度(rgb和灰度都已实现)#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;int main(int argc, const char* argv[]) { Mat src, dst; //src = imread("./test.jpg"); sr原创 2022-02-07 18:00:21 · 1440 阅读 · 0 评论 -
OpenCV:在imshow() 之前使用namedWindow() 的必要性讨论?
opencv使用imshow()展示图像时,即使没有用nameWindow(),也能正常显示,nameWindow()还有没有它的必要呢?答:nameWindow()的功能只是确保如果您希望之后使用相同的窗口执行某些操作(例如移动,调整大小,关闭该窗口),您可以通过使用相同名称引用它来执行此操作。所以,如果你只想展示它;您不需要使用namedWindow()。参考文章:OpenCV:在imshow()之前是否需要namedWindow()?...原创 2022-02-07 15:22:22 · 559 阅读 · 0 评论 -
【opencv4】opencv视频教程 C++ 6、图像混合、线性混合、混合权重相加addWeighted()、混合加add()、混合乘multiply()
上一讲:【opencv4】opencv视频教程 C++ 5、读写图像imread、imwrite、读写像素at<>()、修改像素值、ROI区域选择(图像裁剪)Rect、Vec3b与Vec3F、CV_32F)[opencv_C++] 入门强推!!!【B站最全】文章目录理论-线性混合操作相关API (addWeighted)示例代码理论-线性混合操作相关API (addWeighted)gamma校验值(从上图最后公式来看,可以理解为偏置吧)?一般设置0.0示例代码原图:test1tes原创 2022-02-07 12:30:06 · 1141 阅读 · 0 评论 -
【opencv4】opencv视频教程 C++ 5、读写图像imread、imwrite、读写像素at<>()、修改像素值、ROI区域选择(图像裁剪)Rect、Vec3b与Vec3F、CV_32F)
上一讲:【opencv4】opencv教程 C++ 4、Mat对象(深拷贝:clone()、copyTo(),create()创建图片,zeros()、eye()初始化空白图像,Scalar()创建向量)[opencv_C++] 入门强推!!!【B站最全】文章目录读写图像读写像素`at<>()`修改像素值、区域选择(图像裁剪)RectVec3b与Vec3F代码示例读写图像读写像素at<>()修改像素值、区域选择(图像裁剪)Rect貌似opencv4没有img这个函数原创 2022-02-06 00:37:33 · 801 阅读 · 0 评论 -
如何用指针访问opencv cv::Mat数据?ptr<uchar>()
是一个成员函数,属于OpenCV库的cv::Mat类。该函数返回一个指向图像某一行首元素的指针,可以方便地访问和修改图像中的每个像素。这里,y表示的是所需行的索引。返回值是一个指向第y行的uchar型指针。原创 2022-02-05 12:29:45 · 2378 阅读 · 0 评论 -
【opencv4】opencv教程 C++ 4、Mat对象(深拷贝:clone()、copyTo(),create()创建图片,zeros()、eye()初始化空白图像,Scalar()创建向量)
上一讲:【opencv4】opencv视频教程 C++(opencv教程)3、矩阵的掩膜操作(filter2D)[opencv_C++] 入门强推!!!【B站最全】文章目录Mat对象Mat对象与IplImage对象Mat对象构造函数与常用方法Mat对象使用(浅复制与深复制)Mat对象使用-四个要点Mat对象创建定义小数组演示代码Mat对象Mat对象与IplImage对象Mat对象构造函数与常用方法Mat对象使用(浅复制与深复制)Mat对象使用-四个要点Mat对象创建定义小数组原创 2022-02-04 22:41:16 · 2160 阅读 · 0 评论 -
opencv 计算消费时间函数、耗时、频率 getTickCount() getTickFrequency()
用法#include <opencv2/opencv.hpp>using namespace cv;int main(int argc, const char* argv[]) { //... double count1 = getTickCount(); //处理 double count2 = getTickCount(); double time_consume = (count2 - count1) / getTickFrequency(); printf("消费时间:原创 2022-02-02 23:40:17 · 859 阅读 · 2 评论 -
OpenCV saturate_cast<uchar>函数用法(饱和剔除)(像素限制、溢出滤除、像素设限、防溢出)
saturate_cast<uchar>主要是为了防止颜色溢出操作原理大致如下if(data<0) data=0; elseif(data>255) data=255;参考文章1:【OpenCV】中saturate_cast的含义和用法是什么?原创 2022-02-02 22:34:26 · 1798 阅读 · 0 评论 -
opencv C++ 三重for循环遍历RGB图像像素(逐像素操作、操作像素值、遍历像素遍历)at<typename>(i,j)、灰度图at<uchar>、at<Vec3b>、at<Vec3F>
示例:其中一种方法(可能是最菜的,最慢的)#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;int main(int argc, const char* argv[]) { Mat src, dst; src = imread("./test.jpg"); //if (src.empty()) { if (!src.data){ printf("could not load原创 2022-02-02 22:22:05 · 2873 阅读 · 0 评论 -
opencv 报错:Error: Assertion failed (data) in cv::Mat::at, file ... mat.inl.hpp, line 897(访问了不存在矩阵的像素)
文章目录opencv4报错原因解决方法opencv4报错这是源代码:#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;int main(int argc, const char* argv[]) { Mat src, dst; src = imread("./test.jpg"); //if (src.empty()) { if (!src.data){ printf("原创 2022-02-02 21:53:12 · 4894 阅读 · 0 评论 -
VS opencv Mat对象像素查看插件:Image Watch(ImageWatch)
从这打开image watch窗口:然后打断点,要查看的Mat对象必须在这之前初始化好按F5调试,可以看到image watch左边直接列出了所有能被查看的Mat对象双击其中一张并且滚轮放大,能看到像素值这玩意貌似就是拷贝像素地址的时候有点bug 。。。一点击我的VS就崩溃了还有个功能是link views,这个功能就是启用后,按住ctrl能在图片之间相同位置的像素点进行切换,不启用的话就不会在相同位置切换参考文章1:vs查看opencv中Mat类插件-Image Watch参考文原创 2022-02-01 23:47:35 · 3313 阅读 · 0 评论 -
【opencv4】opencv视频教程 C++(opencv教程)3、矩阵的掩膜操作(filter2D)
[opencv_C++] 入门强推!!!【B站最全】上一讲:文章目录矩阵的掩膜操作获取图像像素指针像素范围处理`saturate_cast`函数调用filter2D功能代码示例关于filter2D计算原理矩阵的掩膜操作获取图像像素指针像素范围处理saturate_cast<uchar>函数调用filter2D功能代码示例#include <opencv2/opencv.hpp>#include <iostream>using namesp原创 2022-02-01 22:36:24 · 1107 阅读 · 0 评论 -
opencv filter2D()函数(卷积)计算原理
参考文章1:opencv学习(七)之图像卷积运算函数filter2D()参考文章2:opencv自定义滤波器(filter2D函数的使用)原创 2022-02-01 22:35:13 · 1814 阅读 · 0 评论 -
【opencv4】opencv视频教程 C++(opencv教程)2、加载imread()(以灰度加载),修改,保存图像
[opencv_C++] 入门强推!!!【B站最全】文章目录加载、修改、保存图像加载图像(用cv::imread)加载图像参数显示图像 (cv::namedWindos 与cv::imshow)修改图像 (cv::cvtColor)保存图像(cv::imwrite)图像加载、修改、保存的代码演示加载、修改、保存图像加载图像(用cv::imread)加载图像参数#include <opencv2/opencv.hpp>#include <iostream>using原创 2022-01-31 13:04:36 · 1358 阅读 · 0 评论 -
【opencv4】opencv视频教程 C++(opencv教程)1、opencv介绍和环境搭建
视频教程链接:OpenCV4 C++ 快速入门视频30讲 - 系列合集原创 2022-01-30 22:51:39 · 1446 阅读 · 0 评论 -
CV报错:CAP_IMAGES: can‘t find starting number (in the name of file): x in function ‘icvExtractPattern‘
在linux arm下报错:OpenCV(4.5.4-dev) /home/yg/share/prj/opencv/modules/videoio/src/cap_images.cpp:253: error: (-5:Bad argument) CAP_IMAGES: can't find starting number (in the name of file): my_video.avi in function 'icvExtractPattern'原因:FFmpeg没运行成功,需要重新安装FFm原创 2021-11-30 13:57:16 · 6622 阅读 · 0 评论 -
VisualStudio opencv配置
参考文章:OpenCV3.4.0+Visual Studio2017配置原创 2021-11-24 10:48:25 · 1262 阅读 · 0 评论 -
opencv中vc14和vc15的区别?
VC11,Visual Studio 2012编译器VC14,Visual Studio 2015编译器VC15,Visual Studio 2017编译器- VC11构建需要安装Visual Studio 2012 x86或x64的Visual C ++ Redistributable- VC14构建需要安装Visual Studio 2015 x86或x64的Visual C ++ Redistributable- VC15构建需要安装Visual Studio 2017 x64或x86的Vi原创 2021-11-24 10:39:36 · 11948 阅读 · 0 评论 -
linux ubuntu16.04 编译opencv教程(没编过,有时间再弄,推流不用opencv也行的)
文章目录下源码编译下源码https://github.com/opencv/opencv/releases/tag/4.4.0然后在ubuntu里建个文件夹把它扔进去,再右键给它提取出来编译直接参照官网方法切换到你需要编译的opencv版本点第一个吧,opencv简介然后点然后就正式到了安装教程主页了https://docs.opencv.org/4.4.0/d7/d9f/tutorial_linux_install.html根据教程,终端运行如下指令[compiler原创 2021-09-13 17:43:57 · 358 阅读 · 0 评论 -
opencv在pycharm上没有函数提示?(需要安装opencv-contrib-python)
安装opencv-contrib-pythonpip install opencv-contrib-python原创 2021-08-31 17:14:06 · 427 阅读 · 0 评论 -
OpenCV Mat类详解和用法(官网原文)
OpenCV Mat类详解和用法我马克一下,日后更原创 2021-08-27 12:03:36 · 423 阅读 · 0 评论 -
cv2.VideoWriter类 将图片帧写入视频
# encoding: utf-8# module cv2.cv2# from D:\20191031_tensorflow_yolov3\python\lib\site-packages\cv2\cv2.cp36-win_amd64.pyd# by generator 1.147""" Python wrapper for OpenCV. """# importsimport cv2.cv2 as # D:\20191031_tensorflow_yolov3\python\lib\sit原创 2021-04-26 22:49:27 · 4378 阅读 · 0 评论 -
python opencv 如何调用intel的ipp加速?
can I use python to call IPP APIs原创 2021-03-13 11:21:04 · 895 阅读 · 0 评论 -
如何比较对比两张图片差异(判断是不是同一张)== all
用:if not (color_image == data_initial).all():color_image和data_initial是两张大小相同的图片color_image==data_initial输出逐个像素比较的True和False如:import numpy as npa = np.array([[1, 2, 3], [2, 3, 4]])b = np.array([[1, 2, 3], [2, 2, 4]])print(a == b)输出结果:[[ True .原创 2021-03-11 10:23:56 · 9477 阅读 · 1 评论 -
python opencv 窗口循环显示时,如果用鼠标拖动窗口会导致程序暂停(卡住)(不知道为啥。。。)
用鼠标一拖动窗口(不释放)程序就暂停了,识别也暂停了,GPU的风扇也不转了。。。但释放后,识别瞬间就能恢复,但GPU风扇恢复旋转要稍微久一点(大约1秒?),不知为啥,是否opencv的窗口也有拖动也不影响程序运行的模式的?...原创 2020-03-02 16:17:31 · 1232 阅读 · 9 评论 -
opencv python 官方文档里的“sa”关键字是什么意思?(see also)
在阅读opencv官方文档的时候,有时候会遇见“sa”这个关键字,这是什么意思呢?command sa starts “See also” paragraph containing references to some classes, methods, pages or URLs.“sa” 就是 see also的意思参考文章1:https://docs.opencv.org/mas...原创 2020-01-19 23:35:25 · 735 阅读 · 0 评论 -
opencv cv2.flip()函数(图像翻转、镜像、颠倒)(沿x轴翻转0、沿y轴翻转【正值】、同时沿x轴y轴翻转-【负值】)
def flip(src, flipCode, dst=None): # real signature unknown; restored from __doc__ """ flip(src, flipCode[, dst]) -> dst . @brief Flips a 2D array around vertical, horizontal, or both...原创 2020-01-19 17:04:47 · 7410 阅读 · 0 评论 -
opencv 如何获取两幅图像的差异?(两幅图相减即可)
要获得两幅图像的差异,其实很简单,首先需要使两幅图像尺寸相同,然后让它们相减就好了文章目录示例:获取原图与原图反复上、下采样100次的图像差异示例:获取原图与原图反复上、下采样100次的图像差异原图:# -*- coding: utf-8 -*-"""@File : 20200119_获取两幅图像差异测试‘.py@Time : 2020/1/19 15:29@Auth...原创 2020-01-19 15:39:15 · 11876 阅读 · 2 评论 -
opencv cv::BorderTypes 像素外推方法(Pixel extrapolation method)
参考文章1:cv::BorderTypes参考文章2:opencv python 图像测试上采样(升采样)(cv2.pyrUp()) 下采样(cv2.pyrDown()) 池化 滑动窗口(BorderTypes)原创 2020-01-19 15:13:44 · 1333 阅读 · 0 评论 -
opencv python 图像测试上采样(升采样)(cv2.pyrUp()) 下采样(cv2.pyrDown()) 池化 滑动窗口(BorderTypes)
在学习tensorflow卷积神经网络时,需要实现图像的下采样,于是便想手动实现一下,但是发现有一点麻烦,于是便寻找看opencv是否有下采样方法,找了下,还真有When I was young, I desired to be a scientist after I grow up, but things always go oppsite to people’s wish, after su...原创 2020-01-19 14:46:19 · 6755 阅读 · 0 评论 -
python opencv 官方文档里LaTeX公式不能正常显示怎么办?
在查看opencv官方文档时,发现里面出现个看不懂的东西。在csdn mardown编辑器上,不仅需要把头尾中的。找了一会终于发现这其实是LaTeX公式。一开始以为是前端代码,后来发现不是。去掉,还需要在前后各加上。原创 2020-01-19 13:53:31 · 787 阅读 · 0 评论