- 博客(18)
- 资源 (28)
- 问答 (1)
- 收藏
- 关注
转载 opencv-python扩充图像的边界
前言有的人脸识别数据集提供的图像是已经紧crop过的,我们想重新检测人脸的话,由于没有周围的像素信息,容易导致人脸检测失败,这时候就需要对图像扩边,将图像变得后再进行人脸检测,获得自己想要的crop。方法原始图像方法一:根据图像的边界的像素值,向外扩充图片,每个方向扩充50个像素。a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_RE...
2019-01-20 15:02:58 4145
转载 线性插值和双线性插值
线性插值先讲一下线性插值:已知数据 (x0, y0) 与 (x1, y1),要计算 [x0, x1] 区间内某一位置 x 在直线上的y值(反过来也是一样,略):上面比较好理解吧,仔细看就是用x和x0,x1的距离作为一个权重,用于y0和y1的加权。离哪个点近,那个点对最后的值共享越多。双线性插值本质上就是在两个方向上做线性插值。双线性插值在数学上,双线性插值是有两个变量的插值函数的线性插值...
2019-01-17 15:24:55 5183
转载 一文读懂图像中点的坐标变换(刚体变换,相似变换,仿射变换,投影变换)
0 前言现在的人脸图像识别流程中有一个步骤叫人脸对齐,现在的一般方法是采用人脸上的关键点坐标,进行相似变换来实现人脸校正。多次在人脸识别的论文中看到 similarity transform,由于在线代和矩阵分析的课上一直划水。对相似变换也是一知半解,今天决定不惜一下相关的知识。大部分的内容都是参考网上大神的,这里只是做个整理。下面的阐述主要以二维坐标为例,多维空间的左边点,可以通过增加变换矩阵...
2019-01-16 16:32:44 26984 2
转载 C++ int与string/char*互转
1 前言其实在源代码中int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释。缺省情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀,告诉编译器按照不同进制去解释。8进制(oct)—前缀加0,16进制(hex)—前缀加0x或者0X。string前后加上双引号,告诉编译器把它当成一串字符来解释。2 int转化为string或者char*2.1...
2019-01-12 23:06:30 2212
原创 滑动窗口切割图片并重定位标注框
在进行目标检测时候,尤其是小目标检测,将图片放大后再进行检测是一个常用的手段,但是方法的后的图像在输入网络的时候,有会被resize带一定得尺寸,这样的我们的放大就没有起到作用。所以有时候我们需要将图片放大后,使用滑动窗口切割产生多幅图像,然后再输入到网络中进行学习。在放大图像和切割图像的过程中,我们需要同时调整标注框。下面分享一下我写的放大和滑动窗口切割图像的python代码:#coding...
2019-01-12 22:20:22 6258 3
转载 图片及其标注框旋转
图片旋转后的处理分为两种情况:使用旋转前的尺寸进行仿射,旋转后图片的尺寸不变,得到的是旋转后对图像内容进行裁剪的结果,图像内容可能不完整使用旋转后的尺寸进行仿射,图片旋转后图片的图像的尺寸改变下面是图像旋转的是坐标轴和示意图及图像旋转后新的尺寸的计算公式:图上theta代表旋转角度,取值范围0-360,可为负数。坐标建立按照opencv的坐标系。旋转后的宽和高按照上面的公式进行计算即可...
2019-01-12 21:54:57 3580
转载 python中PIL.Image和OpenCV图像格式相互转换
PIL.Image转换成OpenCV格式:import cv2from PIL import Imageimport numpy image = Image.open("plane.jpg")image.show()img = cv2.cvtColor(numpy.asarray(image),cv2.COLOR_RGB2BGR)cv2.imshow("OpenCV",img)c...
2019-01-12 21:36:23 306
原创 机器学习(11)-探秘交叉熵损失函数
探秘交叉熵损失函数1 前言2 二分类的交叉损失函数形式2.1 交叉熵损失函数的常见形式2.2 交叉损失函数的另一种形式3 Softmax函数与交叉熵损失函数1 前言学习机器学习相关的算法的时候会,经常看到交叉熵损失函数。交叉熵损失函数的最常见的形式,学习LR(Logistics Regression)函数的时候,给出的交叉熵损失函数,也是比较容易理解的形式。但是除了LR算法中会接触到交叉熵损失...
2019-01-09 19:38:19 1202
转载 推荐系统遇上深度学习系列博客
推荐系统遇上深度学习系列:推荐系统遇上深度学习(一)–FM模型理论和实践:https://www.jianshu.com/p/152ae633fb00推荐系统遇上深度学习(二)–FFM模型理论和实践:https://www.jianshu.com/p/781cde3d5f3d推荐系统遇上深度学习(三)–DeepFM模型理论和实践:https://www.jianshu.com/p/6f...
2019-01-09 09:02:06 689
转载 波兰式与逆波兰式
1 波兰式波兰式是在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之前,所以,这种表示法也称为前缀表达式。例如:3*(2-(5+1)),用波兰式来表示是:* 3 - 2 + 5 1。阅读这个表达式需要从左至右读入表达式,如果一个操作符后面跟着两个操作数时,则计算,然后将结果作为操作数替换这个操作符和两个操作数,重复此步骤,直至所有操作符处理完毕。从左往右依次读取,直到遇到+ 5 1,...
2019-01-07 23:23:05 1533
转载 C++之queue容器使用
queue 模板类的定义在<queue>头文件中。与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。定义queue 对象的示例代码如下:queue<int> q1;queue<double> q2;queue 的基本操作有:入队,如例:q.p...
2019-01-07 13:11:03 1495
转载 C++之stack容器使用
c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO)使用该容器时需要包含#include头文件;定义stack对象的示例代码如下:stack<int>s1;stack<string>s2;stack的基本操作有:1.入栈:如s.push(x);2.出栈:如 s.pop().注意:出栈操作只是删除栈顶的元素,并不返回该元素。3...
2019-01-07 13:08:07 320
转载 C++中memset()函数
前段项目中发现一个问题,程序总是在某个dynamic_cast进行动态转换时出异常,查了半天才发现问题原来是出在memset的使用上,虽然问题本身显而易见,但当处于几十万行代码量级中时,就变得不太那么容易定位了。本文归纳了下使用memset几个需要注意的地方,虽然内容很简单,但也希望对大家有所帮助。所在的头文件在C++中:<cstring>,在C中<string.h>...
2019-01-07 13:05:22 520
转载 c++中的sizeof()运算符
1 定义sizeof是一个操作符(operator)。其作用是返回一个对象或类型所占的内存字节数。2 用法sizeof有三种语法形式:1) sizeof (object); //sizeof (对象)2) sizeof object; //sizeof 对象3) sizeof (type_name); //sizeof (类型)对象可以是各种类型的变量,以及表达式(一...
2019-01-07 12:56:30 1643
原创 C++之容器set和multiset
有关set和multi的介绍和API参考:【C++ STL学习之五】容器set和multiset在这里分享一个使用multiset容器的剑指offer上的面试题最小的K个数。题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。class Solution {public: vector<int>...
2019-01-07 12:44:45 210
原创 C++/C中!和~的区别与作用
区别:!是逻辑运算符(与||,&&是一类符号),表示逻辑取反,可以把非0值变成0,把0值变为1~是位运算符(与|,&是一类符号),表示按位取反,在数值的二进制表示上,将0变为1,将1变为0例子:#include<iostream>using namespace std;int main(){ int a = 10; int b = 0; ...
2019-01-05 15:22:54 34824 7
转载 剑指offer:归并排序与数组中的逆序对
1 归并排序1.1 基本思想归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)...
2019-01-01 22:26:39 354
原创 剑指offer未通过题汇总:
1. 丑数把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。解题方法:剑指Offer面试题:29.丑数...
2019-01-01 22:02:23 214
创建和使用DLL的示例代码
2018-11-30
OpenCV-2.4.0-GPU-demos-pack
2018-09-05
opencv2.2版本
2018-09-05
opencv2.1版本
2018-09-05
opencv2.0版本
2018-09-05
python3安装MySQLdb需要的whl包
2018-06-12
Python Scrapy爬取ScienceNews并展示
2017-05-01
linux安装git需要的文件
2016-11-25
Hadoop windows开发bin替换文件
2016-11-17
eclipse rcp中怎么为文本框绑定复合键事件
2015-03-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人