C++
C++学习笔记
Color Space
Q3252314061, 公众号:OpenCV与AI深度学习
展开
-
PyRun_SimpleString(“import cv2“); 报错解决
opencv-python版本4.8.0.76。卸载opencv-contrib-python。原创 2024-05-07 16:49:18 · 276 阅读 · 0 评论 -
OpenCV自带的三种白平衡算法使用演示(代码 + 效果)
许多传统的白平衡算法都是基于统计的,即它们依赖于这样一个事实:某些假设应该在正确白平衡的图像中成立,例如众所周知的灰色世界假设。然而,通过在基于学习的框架中利用具有地面实况光源的大型图像数据集,通常可以获得更好的结果。python learn_color_balance.py -i <包含训练图像的文件夹的路径> -g <real_illum_568..mat的路径> -r 0,378 --num_trees 30 --max_tree_depth 6 --num_augmented 0。原创 2024-02-24 11:53:36 · 2882 阅读 · 1 评论 -
VS2022配置C++ 20解决import std报错
注意选择ISO C++20 标准 (/std:c++20)也不能正常使用,一定选择c++ latest。(2)项目--属性--C/C++--语言--生成ISO C++23标准库模块--完成上面两个步骤,就可以正常使用import std代码了,运行成功!(1)项目--属性--常规--C++语言标准--原创 2023-12-14 17:46:48 · 1245 阅读 · 0 评论 -
OpenCV4.8 GPU版本CMake编译详细步骤 与CUDA代码演示
本文将详细介绍如何使用CMake编译OpenCV4.8 CUDA版本并给出Demo演示,方便大家学习使用。原创 2023-09-08 20:19:11 · 6057 阅读 · 2 评论 -
GitHub热榜,零基础学C++教程
GitHub热榜,零基础学C++教程 ---推荐!!转载 2022-10-13 10:02:34 · 1120 阅读 · 0 评论 -
MFC程序中使用控制台 cout输出调试信息
方法:以MFC对话框程序为例,在OnInitDialog()函数中添加下面两行代码:AllocConsole(); //控制台调试窗口开启freopen("CONOUT$", "w", stdout); //开启控制台输出支持错误提示:严重性 代码 说明 项目 文件 行 禁止显示状态错误 C4996 'freopen': This function or variable may be unsafe. Consider using...原创 2022-04-08 19:44:29 · 2848 阅读 · 3 评论 -
const char*类型的值不能用于初始化char*类型的实体
VS2019项目出现"const char *" 类型的实参与 “char *” 类型的形参不兼容错误的解决方法解决方案一:在VS2019中依次点击项目->属性->C/C+±>语言->符合模式,将原来的“是”改为“否”即可。解决方案二:在声明变量 char* 时改成 const char *即可原文链接:const char*类型的值不能用于初始化char*类型的实体_触动人生的博客-CSDN博客_不能用于初始化char类型的实体...转载 2021-12-29 16:10:45 · 5592 阅读 · 1 评论 -
一行代码实现灰色铅笔画、彩色铅笔画和卡通画效果(C++/Python OpenCV源码)
点击下方卡片,关注“OpenCV与AI深度学习”公众号视觉/图像重磅干货,第一时间送达!导读本文主要介绍在OpenCV中如何使用一行代码实现图像转灰色铅笔画、彩色铅笔画和卡通效果。背景介绍GAN(生成对抗网络)在深度学习领域的风靡,部分应归功于图像的风格迁移,各式各样的风格迁移效果更让人眼花缭乱。殊不知OpenCV的Photo模块中也提供了几个图像特效处理的方法,简单一行代码就可以实现图像转灰色铅笔画、彩色铅笔画和卡通画的效果。使用介绍与效果演示一、灰色铅笔画、彩色铅笔画效果原创 2021-10-28 21:44:31 · 9290 阅读 · 7 评论 -
VS2017 C++代码报错:E0144 “const char *“ 类型的值不能用于初始化 “char *“ 类型的实体 解决方法
VS2017 C++代码给char* 变量赋值报错,报错信息:E0144 "const char *" 类型的值不能用于初始化 "char *" 类型的实体解决方法:① 参考:https://blog.csdn.net/li1852553930/article/details/87291853先将字符使用字符数组进行存储,再使用指针char pdfName[] = "output.pdf";char txtName[] = "output.txt";char * pdf_...原创 2021-07-26 10:56:08 · 828 阅读 · 0 评论 -
OpenCV4查找绘制点集/轮廓的最小外接矩形、最小外接圆、最小外接三角形 C++代码
OpenCV4查找绘制点集的最小外接矩形、最小外接圆、最小外接三角形 C++代码:#include "opencv2/highgui.hpp"#include "opencv2/imgproc.hpp"#include <iostream>using namespace cv;using namespace std;static void help(){ cout << "This program demonstrates finding the minimum原创 2021-05-24 15:16:28 · 1794 阅读 · 0 评论 -
error: (-215:Assertion failed) anchor.inside(Rect(0, 0, ksize.width, ksize.height)) OpenCV报错解决
完整报错信息(我使用的OpenCV版本4.3.0):opencv-4.3.0\modules\imgproc\src\filterengine.hpp:363: error: (-215:Assertion failed) anchor.inside(Rect(0, 0, ksize.width, ksize.height)) in function 'cv::normalizeAnchor'参考解决方法:https://blog.csdn.net/qq_27278957/article/detai原创 2021-04-13 09:37:58 · 1491 阅读 · 0 评论 -
Qt Data Visualization Q3DSurface绘制三维曲面图实例
1. pro文件中添加配置,然后执行qmakeQT += datavisualization2. 头文件添加#include <QtDataVisualization>#include <QHBoxLayout>#include <QVBoxLayout>using namespace QtDataVisualization;3. cpp代码实现Q3DSurface *graph = new Q3DSurface();graph->原创 2021-01-18 17:33:24 · 5137 阅读 · 2 评论 -
qtgui\qopengl.h(141): fatal error C1083: 无法打开包括文件: “GL/gl.h”: No such file or directory 解决方法
在使用QT DataVisualization时,除了安装Qt时勾选DataVisualization,然后在.pro文件中包含QT += datavisualization头文件添加:#include <QtDataVisualization>using namespace QtDataVisualization;还可能会提示如下错误:c:\qt\qt5.12.4\5.12.4\msvc2017_64\include\qtgui\qopengl.h(141): fatal原创 2021-01-18 16:20:22 · 1621 阅读 · 1 评论 -
Halcon C++获取图像像素值的两种方法演示与比较
在图像处理中有时候难免需要获取图像指定位置(x,y)的像素值,这里没有直接讲获取灰度值,是因为如果是彩色图,那么获取的可能是彩色信息值,比如:RGB,HSV等;如果是单通道图像,获取的可能是灰度值或者一些浮点类型数值可能代表距离高度等信息。Halcon在HDevelop中给我们提供的获取指定位置像素值的算子是get_grayval(),比如获取(0,0)位置的像素值:get_grayval (GrayImage, 0, 0, Grayval)但是get_grayva...原创 2021-01-13 11:20:15 · 5420 阅读 · 0 评论 -
QtCreator中快速折叠代码子函数 快捷键设置方法
QtCreator中快速折叠代码子函数 快捷键设置方法第一步:菜单栏 工具--》选项第二步:环境--》键盘第三步:搜索框输入toggle f --》选中Toggle Fold All --》输入对应的组合键如:Ctrl+Alt+P --》Apply --》OK第四步:验证使用自己的组合键查看,就可以实现折叠和展开操作了...原创 2021-01-12 11:25:49 · 3807 阅读 · 3 评论 -
C++ OpenCV基础视频教程---第10讲(访问图像像素)
C++ OpenCV基础视频教程---第10讲(访问图像像素)视频讲解与课件源码链接:https://www.bilibili.com/video/BV1sa4y1s7FR?p=12原创 2021-01-11 19:16:37 · 401 阅读 · 0 评论 -
OpenCV基础视频教程---第08-09讲(鼠标与滑动条操作)
OpenCV基础视频教程---第08讲(鼠标与滑动条操作)视频讲解与课件源码链接:https://www.bilibili.com/video/BV1sa4y1s7FR?p=9原创 2021-01-11 19:07:22 · 289 阅读 · 0 评论 -
C++ OpenCV基础视频教程---第07讲(基本绘图函数)
C++ OpenCV基础视频教程---第07讲(基本绘图函数)视频讲解与课件源码链接:https://www.bilibili.com/video/BV1sa4y1s7FR?p=8原创 2021-01-11 19:03:54 · 383 阅读 · 0 评论 -
C++ OpenCV基础视频教程---第06讲(Mat类与颜色空间)
C++ OpenCV基础视频教程---第06讲(Mat类与颜色空间)视频讲解与课件源码链接:https://www.bilibili.com/video/BV1sa4y1s7FR?p=7原创 2021-01-11 18:59:41 · 401 阅读 · 0 评论 -
Qt 获取系统时间并动态显示在状态栏statusBar
Qt 获取系统时间并动态显示在状态栏statusBar方法说明:头文件mainwindow.h:#include<QDateTime>#include<QTimer>private slots: void TimeUpdate();源文件mainwindow.cpp:MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::Main原创 2021-01-11 10:42:32 · 3007 阅读 · 1 评论 -
C++ OpenCV基础视频教程---第05讲(实例应用一)
C++ OpenCV基础视频教程---第05讲(实例应用一)视频讲解与课件源码链接:https://www.bilibili.com/video/BV1sa4y1s7FR?p=6原创 2021-01-10 20:55:09 · 345 阅读 · 0 评论 -
C++ OpenCV基础视频教程---第04讲(摄像头、视频读取_写入)
C++ OpenCV基础视频教程---第04讲(摄像头、视频读取_写入)视频讲解与课件源码链接:https://www.bilibili.com/video/BV1sa4y1s7FR?p=5原创 2021-01-10 20:50:50 · 362 阅读 · 0 评论 -
C++ OpenCV基础视频教程---第03讲(图像读取_显示_保存)
C++ OpenCV基础视频教程---第01讲(OpenCV介绍与安装配置)视频讲解与课件源码链接:https://www.bilibili.com/video/BV1sa4y1s7FR?p=4原创 2021-01-10 20:44:20 · 376 阅读 · 0 评论 -
C++ OpenCV基础视频教程---第02讲(说明与例程赏析)
OpenCV基础视频教程---第02讲(说明与例程赏析)视频讲解与课件源码链接:https://www.bilibili.com/video/BV1sa4y1s7FR?p=3原创 2021-01-10 20:34:35 · 320 阅读 · 0 评论 -
C++ OpenCV基础视频教程---第01讲(OpenCV介绍与安装配置)
C++ OpenCV基础视频教程---第01讲(OpenCV介绍与安装配置)视频讲解与课件源码链接:https://www.bilibili.com/video/BV1sa4y1s7FR?p=2原创 2021-01-10 20:19:46 · 395 阅读 · 0 评论 -
Halcon与OpenCV 16位/32位图像相互转换C++
Halcon与OpenCV图像类型转换基于C++ (附代码)8位图像的转换参考上面链接,这里再给出16位的转换代码,32位大家可以自己修改一下,uint2改为real还有一些其他地方需要修改,大家可以自己试试16bit--OpenCV Mat转Halcon HObject//16bit--OpenCV Mat转Halcon HObjectHObject MatToHImage16Bit(Mat &imgMat){ HObject Hobj = HObject();原创 2021-01-09 11:43:28 · 1798 阅读 · 0 评论 -
Halcon与OpenCV图像类型转换基于C++ (附代码)
视觉图像处理中使用最广泛的两个视觉库一个是开源的OpenCV,另一个是收费的Halcon,它们各有各的优势,这里不做对比评价。在使用中我们有时候需要将Halcon和OpenCV中图像类型做转换,所以这里为一些新手朋友们整理一下,使用的时候可以直接复制调用。对于8位图像:包括三通道彩色图像和单通道灰度图像均适用。(1)HalconHObject -> OpenCV MatMat HImageToMat(HObject &imgHalcon){ HTupl...原创 2021-01-09 09:17:29 · 1582 阅读 · 0 评论 -
QTcreator:中文乱码问题解决办法!
原文链接:https://blog.csdn.net/wyansai/article/details/52894984一、修改配置前提是qtcreator用的是vs的编辑器。如图修改配置:二、添加解决中文代码在有中文代码的头文件中添加如下代码:#pragma execution_character_set("utf-8")三、保存如果已存在的项目,要修改每一个带有中文的文件。可以在代码文件中右键点击,选择如下图所示:...转载 2020-11-17 11:37:38 · 1660 阅读 · 0 评论 -
C++ Python OpenCV基础与应用视频教程 免费高清视频
时隔四年,现将两套OpenCV视频教程免费发布,希望对你有所帮助。 一套C++版OpenCV视频教程共43讲,目录与具体介绍参看下面链接: OpenCV2/3基础入门视频教程 一套Python版OpenCV视频教程共42讲,目录与具体介绍参看下面链接:Python OpenCV高清入门视频教程 C++ OpenCV视频教程是2016年12月录制,Python OpenCV是2017年8月录制,就现在而言版本可能有点老,但是学完入门应该没问题!视频我上传到了B...原创 2020-11-09 18:38:36 · 562 阅读 · 0 评论 -
如何查看dll是32位还是64位
方法:借助VS自带工具Win + R -> cmd 在cmd窗口运行:dumpbin.exe /headers G:\GetComputerID\ucrtbased.dll(你自己的dll路径)然后可以看到:原创 2020-09-17 16:41:20 · 1433 阅读 · 0 评论 -
QtCreator错误提示:RC1015: cannot open include file ‘winver.h‘ error C1083: 无法打开包括文件: ‘windows.h‘
重新装了一遍QT5.12.4, 新建了个工程就出问题。。。我的环境是Win10 64bit Qt5.12.4 VS2017第一个错误提示:error C1083: 无法打开包括文件: 'windows.h'解决方法:.pro文件中加window.h的路径INCLUDEPATH += "C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Include/"第二个错误:RC1015: cannot open include file 'wi原创 2020-08-26 15:50:19 · 3030 阅读 · 0 评论 -
objectARX 关于MFC类向导 无法向此非CCmdTarget派生类添加任何命令 解决方法
VS2017 C++通过类向导添加消息时提示:无法向此非CCmdTarget派生类添加任何命令解决方法:① 关闭对应的解决方案② 删除下面的目录debug或者release③ 删除.vs文件夹和.sdf文件(有的话)上述三步执行完之后,可以正常添加消息函数了。。...原创 2020-08-26 10:16:20 · 2604 阅读 · 2 评论 -
格雷码编解码学习(一):格雷码编码原理与C++代码实现
格雷码(Gray Code)又称循环二进制单位距离码,是任意两个相邻的代码只有一位二进制数不同的编码,它与奇偶校验码同属可靠性编码。Gray Code由贝尔实验室的Frank Gray在1940年代提出,用于在PCM(脉冲编码调变)方法传送讯号时防止出错,并于1953年三月十七日取得美国专利。格雷码是一个数列集合,相邻两数间只有一个位元改变,为无权数码,且格雷码的顺序不是唯一的。具体介绍可参考:https://www.wikiwand.com/zh-cn/%E6%A0%BC%E9%9B%B7%E7%A0%原创 2020-08-18 16:36:53 · 3853 阅读 · 0 评论 -
OpenCV绘制箭头线段---函数arrowedLine()使用(C++ Python)
OpenCV不仅提供了绘制线段、矩形、圆等方法,还提供了一个绘制箭头线段的函数arrowedLine(),OpenCV官方文档介绍https://docs.opencv.org/4.4.0/d6/d6e/group__imgproc__draw.html#ga0a165a3ca093fd488ac709fdf10c05b2以OpenCV4.4.0为例,使用此函数需要包含头文件imgproc.hpp --> #include <opencv2/imgproc.hpp>参数原创 2020-08-17 10:50:43 · 5113 阅读 · 0 评论 -
fatal error C1189: #error: Building MFC application with /MD[d] (CRT dll version) requires MFC...
错误信息: #error 指令: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d] Gerber_Reader_ConsoleApp c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include\a...原创 2020-08-01 15:04:44 · 723 阅读 · 0 评论 -
Python / C++ OpenCV计时函数使用备忘
Python / C++ OpenCV计时函数使用备忘(自己用的时候方便直接拿来,说白了,把两个函数名记住就行)① Python OpenCV版本代码:import cv2# 记录开始时间start = cv2.getTickCount()# 测试代码段sum = 0for i in range(1000000): sum += i sum += i# 记录结束时间 end = cv2.getTickCount()# 运行耗时use_time = (end原创 2020-07-27 09:57:46 · 497 阅读 · 0 评论 -
C++字符串常用函数操作
1. C风格字符串常用函数:#include <iostream>#include <cstring> using namespace std; int main (){ char str1[11] = "Hello"; char str2[11] = "World"; char str3[11]; int len ; ...原创 2020-04-25 19:21:12 · 532 阅读 · 0 评论 -
使用sprintf格式化字符串出错:error C4996: 'sprintf': This function or variable may be unsafe.
本来打算一次读取10张图片,代码如下:for (int i = 0; i < 10; i++){ char filePath[20]; sprintf(filePath, "./imgs/%d.jpg", i); cout << "filePath: " << filePath << endl;}使用sprintf格式化字符串出错,提示...原创 2020-04-25 17:18:55 · 5960 阅读 · 0 评论 -
C++中的随机数使用实例
1. 使用rand生成随机数,不过生成的是伪随机数(运行时每次生成的随机数都是一样的)int a = rand();cout << "random a = " << a << endl;2. 在使用rand之前使用srand设置随机种子,这样生成的随机数才是真正的随机数,使用srand设置随机种子要让里面的参数随时变换,所以通过获取系统时间作为其参数...原创 2020-04-24 16:42:29 · 428 阅读 · 0 评论 -
C++ 常用数学函数使用
C++ 内置了丰富的数学函数,可对各种数字进行运算。下表列出了 C++ 中一些有用的内置的数学函数。为了利用这些函数,您需要引用数学头文件<cmath>其中log(x)是以e为底的对数,log10(x) 是以10为底对数,也就是lg(x);测试时发现abs和fabs并未有明显区别,都可以求整数和浮点数的绝对值。...原创 2020-04-24 16:06:42 · 1132 阅读 · 0 评论