- 博客(24)
- 收藏
- 关注
原创 opencv实现图像的垂直投影和水平投影
垂直投影是将图像投影到另一个坐标系中的x轴上,水平投影是将图像投影到另一个坐标系中的y轴上。如果想要只获取到图像内容,而不想要图像的无用边缘信息时,可用垂直、水平投影获取行项中的最小值、最大值,列项中的最小值、最大值。然后将图像裁剪出来。1.首先将图像二值化2.定义两个数组做统计数量数组;3.定义两个容器分别放两个数组;4.如果遇到值等于255或1时,则数组计数,最后放入容器中。5.取容器的第一个元素和最后一个元素。OpenCV 实现图片的水平投影与垂直投影,并进行行分割 - dev
2022-04-26 16:43:05
6457
原创 C语言中的正切函数
double atan(double x):x 的反正切函数值tan-1x,传回的值在 [-pi/2,pi/2] 之间。double atan2(double y, double x):y/x 的反正切函数值tan-1(y/x),传回的值在 [-pi, pi] 之间。arctanX的导数是1/(1+X²)这里的X=x/2复合函数求导,需要先求子函数的导数,即X'=1/2再乘上arctanX的导数所以所求导数是1/[2(1+x²/4)]。...
2022-04-24 14:26:26
1796
转载 定义旋转矩阵函数
分析将图像旋转 90 度之后,这些数字出现在什么位置。对于矩阵中的第一行而言,在旋转后,它出现在倒数第一列的位置:并且,第一行的第 xxx 个元素在旋转后恰好是倒数第一列的第 xxx 个元素class Solution {public: void rotate(vector<vector<int>>& matrix) { int n = matrix.size(); // C++ 这里的 = 拷贝是值拷贝,会得...
2022-04-21 15:44:55
336
原创 C语言使用指针处理opencv中的Mat图像数据
1.在处理图像时,一般直接使用opencv中的imread函数获取图片,但是获取到图片后没有用到opencv中的其他算法时,直接用图片处理就会出现耗时严重的情况,所以需要将图片形式转换成指针数组形式处理。//定义初始化二维指针unsigned short *src_arr;src_arr = (unsigned short *)malloc(行 * 列* sizeof(unsigned short));for (int i = 0; i < M; i++){ temp_arr =
2022-04-21 15:35:35
4556
原创 在Pycharm中整理完成opencv-Python问题
首先先描述问题:在import cv2时总是出错,提示没有相关模块总结原因有以下三方面:1.在运行时,请检查在本项目中的本环境中进行运行(本人犯了一个非常低级的错误,在运行A代码时,开着的是B项目的环境,一般人应该不会出现这样的问题)。2.检查Python环境配置,一定要选择系统安装环境中的opencv包(本人犯的错误是,配置了自己项目中的环境,结果肯定是什么都没有了)3.重点解决措施,如果前两个错误都没有犯,那就大致是这类问题了,运行时,如果在安装包中有CV文件,却没有安装上,那就手动
2022-01-19 16:17:16
3397
原创 opencv中的Mat数据如何与matlab中Matrix数据进行互相转换
在处理图像数据时,有时会需要在VS中处理数据Mat数据或者直接matlab生成的Matrix,此时就会需要VS和MATLAB之间的转换,具体转换方法如下:C++读写.mat文件_JimYe的专栏-CSDN博客_c++读取matVC++与Matlab混合编程之引擎操作详解(4)数据类型mxArray的操作_weixin_30478923的博客-CSDN博客qq. 数据类型mxArray的操作在上节的Matlab引擎函数中,所有与变量有关的数据类型都是mxArray类型。数据结构mxArray以及大量的
2021-11-15 15:10:13
2959
原创 opencv中的imread的问题一二
在使用变量获取批处理图像的相对路径后,会读取具体图像内容,那么问题是,在读取16位uint类型时,总是展示出一半的图像,此展示图的特点是,在行与列相同的情况下,图本身的内容为一半,不会有报错提示。原因有两个:一是在读取16位unit数据后,自动转化成unit8类型的数据,即,将16位unit数据直接除以255左右;而是在读取后,系统默认是8位变量,所以只存取了一半的数据内容。以下是解决问题:Mat srcImage;srcImage = imread(“路径内容”, CV_LOAD_IMAGE_UN
2021-11-08 17:14:24
2726
原创 MATLAB批量将图像转成txt文档
clc;clear all;srcFace = 'D:\……\';%被读取文件的存放目录(根据自己需要更改设置)fileSavePath='D:\……\';%文件保存目录(根据自己需要更改设置)src=srcFace;srcsuffix='.png';%被读取的文件名后缀(根据被读取文件的实际文件类型设置)srcsuffixSave='.txt';%保存文件名后缀(根据自己需要更改设置)files = dir(fullfile(src, strcat('*', srcsuffix)));d.
2021-11-01 16:45:00
1913
原创 C++与OpenCV同时批量处理图像数据
在单张调试图像效果时,可以将算法单次运行,以调试效果。但是,如果图像多到几万张时,我们就需要掌握批量处理图像的方法。在前辈的基础上做了微调。string gallery_path = "D:\\1.jpg";//批量处理图像的路径string probe_path = "D:\\……";//处理之后需要批量存入的路径vector<string> gallery_folders = listDir(gallery_path);for (int g = 0; g < gallery
2021-11-01 15:48:52
1836
原创 CV_DbgAssert(CV_ELEM_SIZE1(traits::Depth<_Tp>::value) == elemSize1())解释
opencv中经常会碰见CV_DbgAssert(CV_ELEM_SIZE1(traits::Depth<_Tp>::value) == elemSize1());这类问题。Tp& Mat::at(int i0, int i1){//1.如果维度越界CV_DbgAssert(dims <= 2);//2.如果数据为空CV_DbgAssert(data);//3.如果i0越界CV_DbgAssert((unsigned)i0 < (unsigned)size.p
2020-09-22 14:52:22
7027
原创 图像16位与8位之间的转换
图像16位与8位之间的转换在处理一些图像到时候,总是会遇到一些数据的转换在处理一些图像到时候,总是会遇到一些数据的转换1.Mat dstImage(1024, 1024, CV_64FC1);2.imageConvert.convertTo(imageConvert, CV_64FC1, 1 / 255.0);3.imageConvert.convertTo(imageConvert, CV_8UC1, 1);4.equalizeHist(imageConvert, dstImage);5.ds
2020-09-21 18:21:17
7739
原创 有关C/C++的一些总结
1.在char *p=“hello”; return p="hello"中的返回值为1;而char p[]=“hello”;return p="hello"中的返回值为0;2.int a[2][3];int (*p)[3]=a;int *q=*a;这三种表示方法有以下图解。3.构造函数没有返回类型,构造函数与析构函数都没有返回值类型。mian函数正常结束后的返回值为0....
2019-10-10 10:01:27
140
原创 C语言中的预编译指令包
预编译方法总结:C语言中的预编译指令包括:#if、#ifdef、#ifndef、#else、#elif、#endif、#define、#undef、defined。#if: 编译预处理中的条件命令,相当于C语法中的if语句#ifdef: 判断某个宏是否被定义,若已定义,执行随后的语句#ifndef 与#ifdef相反,判断某个宏是否未被定义#elif: ...
2019-10-09 11:29:13
2635
原创 总结一些小知识点
1.INT8U,INT16U:通常在ARM中,表示8位无符号char类型与16位无符号char类型,通常,两者的区别只是取值范围的不同。2.浮点精度(FP16/FP16/FP16)3.在C++中,如果使用string类型的话,使用模式为:std::string;4.在C++中,如果在string类型情况下使用getline获得输入的变量值,则使用方法是std::string str; ge...
2019-06-18 19:28:48
1752
原创 在C++中缺少一些文件时的解决方法
在VS2017 c++中有些.h或者.c头文件时,需要下载相应的头文件与.c文件,在下载后需要将文件直接复制粘贴到以下安装文件夹下,个人按照安装目录来进行复制粘贴。...
2019-05-23 16:23:20
2277
原创 在VS C++中调试程序出现找不到正确路径错误
本人不慎将VS2017的安装文件移动到其他文件中,导致安装包损坏,使得所有的项目找不到指定的路径,出现上文的错误。解决方法:其中,在VS2013之前的版本在卸载时,出现卸载不干净的现象,在之后的版本在卸载软件时,相应的插件自然卸载,以至于安装卸载都很方便。...
2019-05-23 16:06:35
2669
原创 关于C++程序设计(基础、编程抽象、与算法策略)学习领悟
第一次使用这个博客,这次写纯属于使用新的编辑器,还望理解。撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + Shift + H无序列表:Ctrl/Command + Shift + U有序列表:Ctrl/Command + Shift + O检查...
2019-03-14 16:26:45
952
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人