- 博客(34)
- 收藏
- 关注
原创 Python使用opencv报错Error “ImportError: ERROR: recursion is detected during loading of “cv2“ binary exte
python安装opencv报错。
2023-07-10 10:38:32 994
原创 基于matlab及c++实现三次样条插值
每两个点之间用一个多项式来表示,这些多项式的阶数相同,但是系数是不一样的。样条插值的目的就是求这些多项式系数,已知系数,那些中间点的值就能唯一确定了。不难想象,随着多项式阶数的提升,端点处会更加平滑,但计算量也越大。上图为不同阶数样条插值结果,由此可见,三次样条插值的效果最好,通过样条画出来的曲线不仅经过各固定点,而且连续光滑。本文以三次样条插值为例,完成下列数据的插值,效果如图。图1 不同阶数的样条插值结果。图2 三次样条插值结果。
2023-06-26 15:21:31 493
原创 打开tensorboard时出现错误:module ‘tensorflow‘ has no attribute ‘estimator‘
(2)类class BeholderHook(tf.estimator.SessionRunHook):的括号中内容删除。TF2取消了SESSION,不可以用。
2023-06-06 13:29:15 595
原创 基于opencv训练haar特征生成xml分类
通过上述的编译,在bin文件夹中便得到opencv_createsamples.exe,但还需要opencv_traincascade.exe,因此,在Search里面输入MOD,添加OPENCV_EXTRA_MODULES_PATH值,即在Value处填入opencv_contrib路径下modules文件夹的路径,如下图。训练完成后在xml_file文件夹里会生成一系列xml文件,最后能用的文件是cascade.xml。数据分为正样本和负样本:正样本是要识别的部分,负样本是不包含要识别的部分。
2023-05-06 11:25:01 1119
原创 小波阈值去噪的原理及程序
运用小波变换的思想结合设定阈值的方法对信号进行去噪的主要流程如下:(1)尺度小波分解:通过分析选择合理的小波函数以及特定的分解尺度,对含噪信号进行特定尺度的目标层数分解;(2)小波阈值处理:设定阈值对信号尺度分解出的小波系数进行选择,若小波系数的幅值低于该阈值则认定为是由噪声引起的,则舍弃这个分解系数;(3)小波系数重构:一维小波重构分解后的小波系数。
2023-04-13 13:29:14 2167
原创 使用PIL的Image.fromarray报错KeyError: ((1, 1, 1), ‘|u1‘)
Pillow的fromarray函数只能做一个MxNx3数组(RGB图像),或者一个MxN数组(灰度)。为了使灰度图像工作,必须把MxNx1阵列变成一个MxN阵列。:使用PIL的Image.fromarray报错KeyError: ((1, 1, 1), ‘|u1’):可以通过使用np.reshape()函数来实现这一点。这将使数据变平,然后将其放入不同的数组形状中。
2023-02-09 15:56:23 1343
原创 GitHub上传大于25M的文件
5、将需要上传的文件放置test_pbtxt文件夹中,跟踪一下你要上传(push)的文件或指定文件类型(以指定文件weights.pb为例)1、官网链接:https://github.com/git-for-windows/git/releases。1、官网链接:https://github.com/git-lfs/git-lfs/releases。(1)在电脑中自选目录新建一个文件夹(例:D:/Git/test_pb);(2)打开系统环境变量下的Path,点击新建:输入Git地址。
2022-12-12 15:07:20 1293
原创 连通域算法的原理及程序实现
利用连通区域算法计算图像中的各个轮廓,一般可以分4领域和8领域。有两种经典的连通区域分析算法:Two-Pass(两次遍历)和Seed Filling(种子填充)。下面以四连通区域为例,分别介绍两种分析方法的原理。
2022-10-27 09:24:53 4781
原创 Ostu最大类间方差法的C++实现
最大类间方差法是由日本学者大津(Nobuyuki Ostu)在1979年提出的,该方法根据计算公式自动计算分割单域值,是一种根据灰度图像自动计算阈值的方法。
2022-09-21 10:17:36 358
原创 PyTorch中的 “freeze_support()“ 错误
PyTorch错误:The “freeze_support()” line can be omitted if the program is not going to be frozen to produce an executable.
2022-08-29 15:03:05 613
原创 QT配置opencv并打包发布
QT配置opencv并打包发布QT配置opencv(一)软件环境(二)配置OpenCV的MinGW版(三)配置CMake(四)编译 OpenCV(五)编译opencv常见错误(六)配置Qt中的OpenCV打包发布QT配置opencv(一)软件环境Windows10QT-5.10.1CMake-3.18.4OpenCV-3.4.0(建议用3系列)(二)配置OpenCV的MinGW版由于Opencv没有编译好的MinGW版,因此需要利用Cmake进行编译。安装好后打开QtCreator,在工具
2022-02-16 16:00:18 3303
原创 基于C++和OpenCV实现图像的离散傅里叶变换DFT
离散傅里叶变换离散傅里叶变换(Discrete Fourier Transform,DFT)傅里叶分析方法是信号分析的最基本方法,傅里叶变换是傅里叶分析的核心,通过它把信号从时间域变换到频率域,进而研究信号的频谱结构和变化规律。程序说明// 程序描述:OpenCV C++离散傅里叶变换// 参 考:毛星云《OpenCV3编程入门》// 操作系统: Windows 10 64bit// 开发语言: C++// IDE 版 本:Visual Studio 2017// OpenCV版本:4.10
2021-12-15 16:38:33 4373
原创 TensorFlow/Keras保存模型的网络架构图片
第一步:安装pydot库pip install pydot第二步:安装GraphViz下载网址:https://graphviz.org/download/安装完成后,在环境变量的path中添加graphviz的安装路径下bin目录,D:\graphviz\bin\第三步:添加python程序from keras.utils import plot_modelplot_model(model, to_file='..//model.png',show_shapes=True).
2021-12-03 14:00:29 385
原创 利用语义分割训练完的结果进行预测,却只有背景
原因一:图像预处理时,压缩程度过大,图像变得很小,要识别的区域被挤压掉。解决方法:修改resize的大小。原因二:模型层数过多,网络架构过于庞大。解决方法:降低层数,更换网络。...
2021-12-03 10:43:19 2626
原创 C++实现非极大值抑制NMS
在目标检测中,一个物体可能会有多个框,非极大值抑制(NMS, non maximum suppression)的目标是一个物体只保留一个最优的框,抑制那些冗余的框。其原理实现如下:(1)将所有框的得分排序,选中最高分及其对应的框。(2)遍历其余的框,如果和当前最高分框的重叠面积(IOU)大于一定阈值,就将框删除。(3)从未处理的框中继续选一个得分最高的,重复上述过程。图cr:LOGO侵删下面给出c++实现程序:bool sortForAreaRect(Rect a, Rect b)
2021-11-09 15:11:43 1208
原创 MATLAB R2018b生成独立可执行的程序包.exe
MATLAB R2018b生成独立可执行的程序包.exe第一步:打开ApplicationCompiler在菜单栏点击“APP”,再点击下拉菜单,选择“ApplicationCompiler”。第二步:添加m程序在①中添加主函数,在②中添加主函数所调用的其他m文件,在③中选择将运行环境一起打包,点击④进行打包。第三步:下载对应版本的runtime(若已下载好,则省略该步骤)打开网页 https://ww2.mathworks.cn/products/compiler/matlab-run
2021-09-22 15:45:47 1331
原创 Windows下Python3.x调用c++动态链接库(numpy与vector的接口对接,c++带引用)
采用Python.h中的c++接口方式1. VS环境配置2. 接口转换2.1 python数据类型转换为c++数据类型2.2 c++数据类型转换为python数据类型3. 变量类型关系4. C++程序示例5. 生成.pyd文件6. python程序示例1. VS环境配置STEP1:建立动态链接库项目STEP2:设置如下配置方案STEP3:设置如下项目属性2. 接口转换2.1 python数据类型转换为c++数据类型2.2 c++数据类型转换为python数据类型3. 变量类型关系4. C
2021-06-17 15:20:15 540
原创 Linux下c++程序利用g++方法生成.so文件并调用测试
c++程序利用g++方法生成.so文件并调用测试生成.so文件调用.so文件生成.so文件test.cpp#include <iostream>int calcAdd(int x, int y){ return x+y;}test.h#include "test.h"extern "C" int calcAdd(int x, int y);main.cpp#include "test.h"int main{ int result=calcAdd(1,2);}
2021-05-18 10:42:39 918
原创 C++生成100个0-99不重复的随机数
C++生成100个0-99不重复的随机数//vector<int> rand_value;for (int i = 0; i < total_num; i++){ rand_value.push_back(i);}random_shuffle(rand_value.begin(), rand_value.end()); //随机打乱顺序
2021-05-08 13:45:50 1273
原创 Tensorflow2.0训练损失值降低,但测试正确率基本不变的情况
Tensorflow2.0训练损失值降低,但测试正确率基本不变的情况问题描述解决方法修改参数检查模型loss计算方法数据标签权重初始值问题描述对于一个架构,在识别mnist手写数字集精度较高的情况下,更换其他的数据集,却无法得到较高的识别结果。假设有n个类别,修改输入端、输出端及几个卷积核的大小,识别时虽然loss在减小,但正确率acc稳定在1/n左右不变化。解决方法修改参数主要考虑的参数有batch、学习率和keep_prob:batch ,将其值降低,使得网络更加全面学习每个数据;学习率
2021-05-06 16:35:36 3839
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人