Digital image/ML
文章平均质量分 71
GavinZhou_xd
一名小小程序员的努力,因为热爱,所以坚持
展开
-
数字图像学习4(图像的浮雕效果)
图像的浮雕效果根据生成的算法不一样,效果也不太一样,作为练习程序,自己写了两个; (1)取主对角线除右下角外的各点之和的平均值,减去右下角点的值,再加上填充背景色,再加上一个背景常数,会形成类似浮雕的效果。 算法如下:y(i,j)= 0.25*img(x-2,y-2)+0.25*img(x-1,y-1)+0.25*img(x,y)+0.25*img(x+1,y+1)+0.25*img(x+2,y原创 2015-08-09 20:30:03 · 6876 阅读 · 1 评论 -
EM算法及其应用
EM算法简介首先上一段EM算法的wiki定义: expectation–maximization (EM) algorithm is an iterative method to find maximum likelihood(MLE) or maximum a posteriori (MAP) estimates of parameters in statistical models原创 2017-06-02 21:49:18 · 5183 阅读 · 0 评论 -
Out of bag error in Random Forest
sklearn中的RandomForestClassifier有一个参数: oob_score : bool (default=False) Whether to use out-of-bag samples to estimate the generalization accuracy.中文叫‘袋外误差’,可以看出这个参数的意思是:使用oob来衡量test error.关于oob的解释原创 2017-08-15 10:38:51 · 4885 阅读 · 0 评论 -
sklearn系列之----开山篇
最近在学习深度学习,之前搞了段时间的caffe,但是caffe的优点在classification,对于想学习DL的我们还是需要从基础的学起,比如regression、clustring、dimensionality reduction等。 基础的教学视频可以观看Andrew NG的机器学习公开课; 在python包上,做基础的DL的最火的可能就是scikit-learn,也就是sklearn,原创 2015-12-27 14:20:06 · 10239 阅读 · 0 评论 -
sklearn系列之----线性回归
原理线性回归,原理很简单,就是拟合一条直线使得损失最小,损失可以有很多种,比如平方和最小等等; y是输出,x是输入,输出是输入的一个线性组合。 系数矩阵就是coef,截距就是intercept;例子:我们的输入和输出是numpy的ndarray,输入是类似于列向量的,输出类似于行向量,看它们各自的shape就是: 输出:y.shape ——>(1,) 输入:x.shape——->(m原创 2015-12-27 15:13:39 · 22499 阅读 · 2 评论 -
sklearn中的nearest neighbor
KNN介绍基础原理没什么介绍的,可以参考我的KNN原理和实现,里面介绍了KNN的原理同时使用KNN来进行mnist分类KNN in sklearnsklearn是这么说KNN的: The principle behind nearest neighbor methods is to find a predefined number of training samples closest in d原创 2017-04-23 21:52:37 · 5091 阅读 · 0 评论 -
一个验证码破解的完整演示
这篇博客主要讲如何去破解一个验证码,for demo我会使用一个完整的工程来做,从原始图片到最终的识别结果,但是破解大部分的验证码其实是个很费力的活,对技术要求反而不是特别高,为什么这么说呢? 主要原因有以下几点: 你需要验证码的正确答案作为监督,所以基本是人来识别然后写答案 CNN之类的DL方法对验证码这种简单的图像识别能力非常高 所以,破解的话你需原创 2016-07-30 11:24:08 · 30793 阅读 · 0 评论 -
Python-OpenCV(3)
上篇博客,写了个比较有意思的玩意,接下来几篇会写写基本的图像处理首先我们要知道的是,cv2.imread(),读取的图像是个numpy矩阵In [1]: import cv2In [2]: import numpy as npIn [3]: img = cv2.imread('/home/gavinzhou/实验室/ForBlogImage/images/0.jpg', cv2.IMREAD_GRA原创 2016-03-25 17:54:56 · 1992 阅读 · 0 评论 -
Python-OpenCV(7)
接着上篇,这次主要讲一个主题就是: 图像的阈值处理主要涵盖的内容点包括: 简单阈值 自适应阈值 Otsu’s 二值化大家可能不是很清楚阈值处理的用途在什么地方,我举几个例子: 图像的二值化 区域的分割 图像的点/线/边缘检测 所以用途还是很广的,实则这块属于图像的分割范畴ps: 有兴趣的可以看看数字图像处理的MATLAB实现这本书,讲的还是很不错的,代原创 2016-04-15 14:35:29 · 1060 阅读 · 0 评论 -
Python-OpenCV(6)
接着上篇,这次写两个主题: OpenCV中的颜色空间转换 OpenCV中的几何变换 OpenCV中的颜色空间转换颜色空间有许多种,常用有RGB,CMY,HSV,HSI等. 我们平时说的三通道的图就是指的是RGB的图. 贴一段百度百科的介绍: RGB(红绿蓝)是依据人眼识别的颜色定义出的空间,可表示大部分颜色。但在科学研究一般不采用RGB颜色空间,因为它的细节难以进行数字化的原创 2016-04-11 10:28:26 · 2422 阅读 · 0 评论 -
Python-OpenCV(5)
这次博客咱们比较下,python的函数、numpy的函数和OpenCV的函数的效率问题,让大家对销量高通情况下如何使用有比较直观的认识程序(语句)运行时间的测量 (1) python的time模块 (2) cv2.getTickCount(),返回时钟数,cv2.getTickFrequency()返回始终频率,相除即可达到运行时间 (3) Ipython的%timeit实验1代码原创 2016-04-06 09:43:47 · 2462 阅读 · 0 评论 -
Python-OpenCV(2)
这次咱们写个有点意思的东西,上个博客在最后写了画线、画矩形之类的,涉及到取颜色(r g b值),这次咱们就写个图形化的调色板。 具体就是: 三个滑动条分别代表R、G、B的值,下方有个矩形区域,显示颜色 cv2.createTrackbar(trackbarName, windowName, value, count, onChange) # 创建滑动条 cv2.getTrackba原创 2016-03-23 15:03:53 · 1279 阅读 · 0 评论 -
Python-OpenCV(4)
我想把 NBA 的标志放到另一幅图像(LBJ传球)上。但是现在有个问题: 如果我使用加法,颜色会改变,如果使用混合,会得到透明效果,但是我不想要透明的 于是我们可以通过下面的按位运算实现: cv2.bitwise_and() cv2.bitwise_or() cv2.bitwise_xor() cv2.bitwise_not()这些API的意思,就是你看到的,AND、OR原创 2016-04-05 10:17:10 · 1274 阅读 · 0 评论 -
Python-OpenCV(1)
前面的几个博客写的乱七八糟的,一来是初学数字图像,二是之前没有写过博客,所以对不起之前看我博客的各位啦!!!!!!现在决定使用python重新写这个系列,不再使用Matlab作为工具,原因有一下几点: <1> 学习Python <2> 可以使用Numpy、Matplotlib等,效果不逊色于Matlab <3> 工作环境转为Linux(Ubuntu14.04),Matlab懒的装环原创 2016-03-23 09:57:59 · 1636 阅读 · 0 评论 -
数字图像学习1
接着上次的写。。。上篇摸这 首先介绍下本次使用的环境,win7+python2.7.3+epd_free-7.3-1+Pil1.1.7 epd的相关信息参考我的另一篇博文http://blog.csdn.net/gavin__zhou/article/details/46851495,上面讲的很详细,pil(python image library)是一个python的图像处理库,大家自行网上搜原创 2015-07-30 21:25:38 · 1000 阅读 · 0 评论 -
数字图像学习3
接着上次的写。。。。。上篇摸这 这次就介绍下如何对一幅数字图像进行数学上的相关处理,实质就是对矩阵进行数学运算,以求一幅图像的灰度图的最大灰度、最小灰度和平均灰度值和图像的马赛克为例。 首先将图像读入进来:>> f = imread('C:\Users\Administrator\Desktop\1.jpg');>> imshow(f)将原始的图像转换为灰度图并获得大小:>> gray =原创 2015-07-31 21:13:46 · 1088 阅读 · 0 评论 -
数字图像学习2
接着写。。。。上篇点这灰度化:f = imread('C:\Users\Administrator\Desktop\1.jpg');gray = rgb2gray(f); %灰度化 二值化:bw = im2bw(f); %默认的二值bw1 = im2bw(f,graythresh(f)); %使用全局阈值处理的logical图像 从RGB空间到HSV空间:hsv = rgb2hsv(f);原创 2015-07-31 20:15:26 · 985 阅读 · 0 评论 -
数字图像学习0
学习了一段数字图像处理,想就自己的学习写个笔记吧。主要的参考书就是<<数字图像处理的MATLAB实现>>和网上的一些博客,可能会穿插着MATLAB的代码和Python的代码,准备写一个系列,这次就当做是个开山篇吧。 什么叫数字图像呢?“一幅图像可以定义为一个二维函数f(x,y),这里的x和y是空间坐标,而在任意坐标(x,y)处的幅度f被称为这一坐标位置图像的亮度或者灰度,当x,y和f的幅值都是有限原创 2015-07-30 20:29:51 · 1167 阅读 · 0 评论 -
GBDT(Gradient Boosting Decision Tree)
GBDT+FFM(FM)+Online Learing(FTRL)是kaggle比赛的重点方法,而且暑期实习面试的时候也有很多面试官问了,还是很有必要学习下的. 我在网上找了下相关资料,感觉讲的都不是很好(可能是我太菜了吧),所以自己想着写一篇,要是哪里错了,欢迎指正从Ensemble说起Bagging,Boosting和Stacking是集成学习的三种主要的形式.BaggingBagging=Bo原创 2017-05-03 23:45:38 · 8304 阅读 · 1 评论