- 博客(78)
- 资源 (4)
- 收藏
- 关注
原创 C++——引入python函数
1、添加环境#include<Python.h>2、添加库路径3、函数剖析//初始化python解释器void Py_Initialize(void);//检查是否初始化成功int Py_IsIntialized(void);//导入python模块PyObject* PyImport_ImportModule(char *name);//执行Python代码int PyRun_SimpleString(const char *command);.
2021-04-07 09:42:13
721
2
原创 Halcon DeepLearning初识
Halcon提供三种类型神经网络:1、Classification(分类)2、Object Detection(目标检测)3、Semantic Segmentation(语义分割)工作流程: 一、准备网络和数据使用的网络:可以使用预训练过的网络或者创建一个新的网络 准备数据:分类好训练样本的种类 准备对应需求的大量图片(例如:图像维度、灰度范围等) 做好训练集、验证、测试集 二、训练网络和评估训练进度设置超参数适用任务和系统 可选的指定数据扩充...
2020-11-02 14:13:14
3367
4
原创 OpenCV——油画特效
油画原理:一、获取图像灰度图,灰度值范围0~255二、mask大小,比如5*5,计算mask对应灰度图像的灰度等级(0~level)三、将当前mask,level占有最多数量的像素点,对应到彩色图像进行RGB求和,算平均值。四、以此类推,最终得到油画特效后的彩色图像。优化速度:降低时间复杂度,根据不同mask尺寸,将时间复杂度由O(n^2) -> O(2n)。mask移动方向,蛇形移动。 → → → → → → → ↓ ...
2020-09-12 19:10:44
1015
1
原创 Python爬虫——片库网 爬取 视频
片库url:http://tv.cnco.me/一、进入网站二、输入关键字跳转界面格式:url = "http://tv.cnco.me/"search_keyword = '脱单告急'search_url = url + "vodsearch/-------------.html?wd=" + search_keyword + '&submit='三、点击立即播放进入播放界面导入BeautifulSoup模块获取该视频的网址:在上个界面按下F12,..
2020-09-07 17:16:38
70612
原创 Python爬虫——Request模块
文章说明了Request模块的意义,且强调了Request模块使用更加方便。接下来介绍几种常用的Request操作,并且会在后续补充说明一些特定用法。导入文件import requests一、请求右边为请求语句,返回值为Response回应r = requests.get('https://www.baidu.com')r = requests.post('http://httpbin.org/post', data = {'key':'value'})r = re...
2020-09-07 15:37:58
297
原创 Halcon——opencv的Mat和Halcon的Hobject互转
Mat转Hobject:void Mat_2_HImage(Mat img, Hobject & HImage){ int height = img.rows; int width = img.cols; uchar *dataGray = new uchar[width*height]; for(int i = 0; i<height; i++) { memcpy(dataGray + width*i,img.data + img.step*i, width).
2020-08-23 11:07:49
897
原创 Halcon奔溃问题汇总
经常使用halcon的童鞋会知道,halcon不像是opencv那样的开源库,奔溃还能用try,catch接住,都是弹窗,正大光明告诉你老子崩溃了。这样用户体验就很差。有什么解决方案么?我只能说,请做好防呆。说到底halcon奔溃的根本就是地址为空,你却死命访问。就像人不在家,你好使不使敲人家们,人家同意你进才怪。我是做工业检测算法的。这篇博客从今天起至以后,我将会持续更新在处理过程中遇到的奔溃问题,作为记录。①count_obj再汇总检出错误前,需要筛选一些特征条件,接着可以用smalle
2020-08-23 11:01:12
5072
原创 linux——最简单的Tcp通信
前言Tcp通信可以说的上是linux中必须要掌握的知识点啦,但是呢往往写这类代码的时候,习惯的敲击ctrl+c来快速的敷衍?灵魂拷问:你知道你写的每一行代码是干嘛的么?正文一、server流程:创建socket,绑定通信地址,监听设置,等待连接。怎样查看用到的函数呢?shell指令: man 2 "函数名" 或 man “函数名"首先呢,先看一个网络通信...
2019-12-12 16:41:16
1324
原创 tensorflow(一):预测线性数据
预测一个 Y = 0.1 X + 0.3 一次函数。import tensorflow as tfimport numpy as np#测试数据x_data = np.random.rand(100).astype(np.float32)y_data = x_data * 0.1 + 0.3#初始化权重和偏置Weights = tf.Variable(tf.random.u...
2019-12-10 11:08:56
526
原创 C++——你所不知的 const + &
在我原先写过的《c++——左值、右值、左值引用、右值引用》中有谈到引用。简单来说,引用是参数的别名,不用额外开辟空间,节省开销。举个例子:左值引用。int _x = 0;int &tmp = _x;在C语言中,左值最初指的是可出现在赋值语句左边的实体,但这是引入关键字const之前的情况。现在,常规变量和const变量都可视为左值,无非一个可修改,一个不可修改。...
2019-12-10 11:04:54
599
2
原创 C++——STL操作(一)——List
最基本的操作是增加、删除、修改、查询。首先包头文件,还有命名空间否则无法使用#include <list> using namespace std;1、增加list<int> list_a;//往尾巴添加for(int i = 0; i < 10; i++){ list_a.push_back(i);}//往头部添加for(int ...
2019-12-09 17:31:20
730
原创 Boost(一)——Boost简介
Boost C++ 库是一组基于C++标准的现代库。 其源码按Boost Software License来发布,允许任何人自由地使用、修改和分发。 这些库是平台独立的,且支持大多数知名和不那么知名的编译器。 Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功...
2019-12-09 14:21:08
3053
原创 OpenCV——Anime4k代码
新的实时漫画放大算法。立志于改善AV画质。至于更清晰的说明请搜索baidu。核心还是用到了8方向sobel核的思想,在改善边缘的同时,不造成振铃和过冲。代码运行设置参数请详细见官网说明。我的设置:"Art_0.png" "test_upscaled.png" 2 (Art_0.png直接下载测试有问题,估计不是真正的png图像,需要额外转一次格式)值得一提的是,代码所需处理的图像...
2019-10-17 16:40:55
1585
7
原创 caffe——配置训练文件
以GoogLeNet模型为例子说明配置train_val.prototxt训练文件:模块化结构图:从下往上看需要用到的caffe.proto文件地址在:caffe-windows\src\caffe\proto可查看。GoogLeNet网络结构明细表解析如下:0、输入原始输入图像为224x224x3,且都进行了零均值化的预处理操作(图像每个像素减去均值)。1、第一层...
2019-09-17 17:30:58
473
原创 caffe——solver参数设置
base_lr: 0.01 # begin training at a learning rate of 0.01 = 1e-2lr_policy: "step" # learning rate policy: drop the learning rate in "steps" # by a factor of gamma every stepsize iterations
2019-09-17 11:16:21
276
原创 OpenCV——双峰阈值分割
此方法适用于图像直方图呈现双峰形状。如下图。方法设计:结果与th敏感。若图像直方图呈现多峰,判定不理想。#include <opencv2\opencv.hpp>#include <iostream>using namespace std;using namespace cv;/****************img : 图像*th : ...
2019-09-09 17:05:11
3756
原创 OpenCV——UMat对象
为了开发者在不支持opencl设备的情况下也能进行CPU运算,或者支持opencl的情况下能利用opencl加速。Opencv引入UMat对象。通常的Mat转UMat对象:Mat img;UMat uimg;img.copyTo(uimg);UMat转Mat对象:UMat uimg;Mat img;img = uimg.getMat(flags);flags...
2019-08-26 10:30:36
3635
原创 OpenCV——svd速度优化
在发现opencv运行SVD::compute()过程太慢,一张299*299的图片Debug要几s,release也要0.5s。第一次尝试:将299*299图像分成13份23*299的图像运行svd。release模式下能达到0.25s,将近快一倍。第二次:加上UMat,成绩感人。release模式下速度0.02s,又快了10倍。void main(){ Mat ...
2019-08-23 15:05:54
2016
1
原创 OpenCV——相当通俗易懂的SVD奇异值分解
在说明前,我也是查了大量文档,弄清楚各个名词的意思,才写下这篇博客。。。特征值和特征向量:根据公式:A是n*n的方阵(必须是方阵),x是特征向量,λ是特征值。一般情况下,会有n个特征值,和n个特征向量。(这里的一般是指方阵是满秩,各行各列都是线性无关)。引出问题:如果不是n*n维的矩阵,怎么求?假设矩阵X是m*n,则可以求或矩阵的特征分解。一般的非方阵的特征分解称为奇异...
2019-08-14 15:17:12
9407
原创 caffe-windows gpu安装
环境:win10, vs2015准备:首先呢准备cuda, cuDNN, caffe-windows源码,cmake, python等工具事先声明下,请详细阅读gitbub的caffe-windows的Readme,别瞎搞。嗯。。。安装他要求的cuda8.0和cuDNN v5谢谢。你就会少踩坑。下载地址:caffe_windows源码:https://github.com/...
2019-08-12 10:49:09
1099
原创 tensorflow——lmdb
参考官网:https://www.tensorflow.org/tutorials/keras/basic_text_classification与源码不同,设置index_from=0从第0位开始,实际上map类型的word_index会从1开始。import tensorflow as tffrom tensorflow import kerasimport nump...
2019-07-26 10:12:31
852
原创 tensorflow——FashionMnist
数据集下载下载说明看https://github.com/zalandoresearch/fashion-mnist/blob/master/README.zh-CN.md和mnist数据集类似。数据集读取问题请详看tensorflow——FashionMnist数据集读取问题数据表现形式用matlibplot与mnist数据不同的是,此次数据集是非单一热点模式奉上代...
2019-07-24 17:14:45
433
原创 tensorflow——FashionMnist数据集读取问题
添加如下代码作为数据读取方法#命名为read.pyimport gzipfrom tensorflow.python.platform import gfileimport numpy as npdef _read32(bytestream): dt = np.dtype(np.uint32).newbyteorder('>') return np.frombuff...
2019-07-24 17:08:59
1237
原创 tensorflow——MNIST(CNN实现)
接NN模型章节实现不同点:图像不再是一维向量784一次性训练,而是将图像与kernel(n*n)卷积,更好的保留了图像相邻像素的关联性,直观体现在预测正确率上。定义卷积层:conv2d定义池化层:max_pool_2x2本次实现采用的是LeNet-5实现:总共有7层设计,如下图所示:conv1 -> pool1 -> conv2 -> pool2 ->...
2019-07-18 11:07:33
483
原创 tensorflow——MNIST(NN模型)
首先准备训练和测试数据:http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz: training set images (9912422 bytes) 55000张图片train-labels-idx1-ubyte.gz: training set labels (28881 bytes)t10k-images-idx3-...
2019-07-18 10:04:44
1498
原创 sklearn(一):鸢尾花
原先有用C++语言,k近邻算法实现预测鸢尾花类型。from sklearn import datasets #datasets模块from sklearn.model_selection import train_test_split #分离训练集和测试集数据from sklearn.neighbors import KNeighborsClassifier #k近邻分...
2019-07-15 16:57:49
1125
原创 深度学习工具
scikit-learning:官方文档:https://scikit-learn.org/stable/tensorflow1.x:官方文档:https://tensorflow.google.cn/tensorflow2.0(beta):官方文档:https://tensorflow.google.cn/versions/r2.0/api_docs/python/tf/ke...
2019-07-15 16:19:22
220
原创 spyder的TypeError问题
我也不知道为啥,可能是numpy包安装除了问题。运行程序就出现如下错误:TypeError: TF_SessionRun_wrapper: expected all values in input dict to be ndarray.解决方案:①进入激活:activate tensorflow②用pip删除numpy:(我原先安装的时候是用conda install安装...
2019-07-15 09:50:08
787
原创 Anaconda 安装 tensorflow
踩了许多坑的我,写下这篇博客。。。安装anaconda需谨慎,以上是对应python版本表格。windows版本的tensorflow只支持py35-36版本,37版本不支持,切记当然如果不幸你下载了最新版的Anaconda还是有办法的①安装python3.5版本(我这里是安装的3.5的版本):conda create --name tensorflow python...
2019-07-11 15:07:45
192
1
原创 贪婪算法和动态规划
题目如下:很久很久以前,有一位国王拥有5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人人数也不同。如果参与挖掘的工人总数是10,每座金矿要么全挖,要么不挖,要得到尽可能多的金矿。①200kg / 3人②300kg / 4人③350kg / 3人④400kg / 5人⑤500kg / 5人贪婪算法:对问题求解时,总是做出在当前看来是最好的选择。也就是说,...
2019-06-10 17:09:07
638
原创 MEC——优化卷积速度
根据MEC —— 优化内存与速度的卷积计算一文,用代码实现,卷积加速。初代版本代码实现:#include <iostream>#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>using namespace std;using namespace cv;class Par...
2019-06-03 14:17:49
916
原创 VA_X的EnterKey解决
一、若不存在可替换的VA_X.dll 则打开vs工具栏的扩展管理器,卸载VA_X。二、若存在可替换的VA_X则在C:\Users\主机名\AppData\Local\Microsoft\VisualStudio\10.0(vs版本)\Extensions\Whole Tomato Software\Visual Assist X\目录下替换VA_X重启vs即可。操作前请显示隐藏...
2019-05-16 09:28:46
3690
原创 TortoiseHG基本使用
入个分布式管理的坑,今天研究了下Hg的使用。看了教程各个说法都不太一样。我直接说下我的操作步骤。1.先写代码或者是工程(基本的,初始的)一般是放在局域网比如192.168......,(主要是多个人开发的话,就是放在所有人都能访问到的位置)2.创建仓库在要管理的文件夹点击右键,找到TortoiseHg选项里面有个Create Repository Here。3.拷贝仓库...
2019-04-11 17:48:54
9319
原创 protoc-gen-grpc-c++插件生成
在正片开始前,我有必要吐槽一句。。。很复杂的经历,在配置nvidia::inferenceserver客户端的时候,不得不包含上~~~某某grpc.ph.h的头文件,然后很“欣慰”的是并没有,因为一般这种东西源码是不会有的,所以我很习惯的先百度看看有没有哪位大佬有把我标题的插件分享下,又很“高兴”的是没有看到。所以只能自己动手做这个插件了,然后我就看到了这位大佬写的文章首先先谢谢这...
2019-03-20 17:38:49
5355
原创 OpenCV——写法问题
作为程序员,最常常遇到的情况就是自己所想的和写出来的程序运行结果大相径庭。原因有多种,可能是经验的偏差,语法错误,或者一些别的情况。所以我心血来潮的想写一些记录,方便自己查阅,也分享给你们。ps:有的漏洞,我会说明原因,有的则没有,也希望读友能指出,感谢。OpenCV经典操作,卷积核的编写。例如,边缘算子,锐化算子等等。正确操作如下://.........(此处省略头文件,命名空...
2019-02-21 10:58:28
538
原创 OpenCV超简单且有趣的人脸识别
拖更好久了,因为懒么。其实主要是不知道写什么。。。想了想写了挺多机器视觉里特征识别的代码。总感觉少了人脸识别有些怪。那么就进入正题吧。直接引用opencv里面的demo#include "opencv2/objdetect.hpp"#include "opencv2/highgui.hpp"#include "opencv2/imgproc.hpp"#include <...
2019-01-30 15:30:12
854
原创 C++实现——最小距离分类器(k近邻算法)
采用的样本是非常经典的鸢尾花数据。鸢尾花分为三类:1、setosa2、versicolor3、virginica已知数据集的特征分为:1、萼片长度2、萼片宽度3、花瓣长度4、花瓣宽度 在讲算法之前,我们首先应该给距离下定义:当然代码采用的是“欧式距离”算法原理:1、读取训练集和测试集数据(包括特征、类型)2、计算两者距离:相对应特征的...
2018-12-26 17:06:24
2978
原创 OpenCV(六)——Hough检测圆原理及算法实现
hough检测圆的思路:(1)图像中取出圆的轮廓(灰度值为255)(2)根据圆的极坐标公式:现在已知的是圆上的点,则x,y已知,反推出x0 和 y0(圆心的位置)。的范围是0~360度,不过注意要转化成弧度。(3)投票机制:每次根据(2)公式得到的点,都在数组相应坐标+1(4)归一化:得到最大投票数的点,生成的图像在该点的像素灰度置为255。(5)画圆...
2018-12-06 17:21:12
2904
原创 OpenCV(五)——超细节的Canny原理及算法实现
继上一章承诺,编写这一章。原因呢,是这样,在实际项目中,用到canny很少,我总觉得它对于细节边缘过于详尽。我们知道,opencv提供的算法库,内部核心算法是定死的,你只能通过调节参数来测试。如果你不知道原理,估计这次调好了,下次又要花大半时间去。简直是无用功。本着专研精神,还有也方便自己后续查阅,于是乎我就推出这一期的Canny算法。 啰嗦几句,其实要学好算法,看书是必不...
2018-12-06 10:52:22
14822
2
opencv410_qt.zip
2019-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人