比如有图像1,将其旋转n度得到图像2,问如何比较两张图像得到旋转的度数n. 算法思路参考logpolar变换: 1.从图像中心位置向四周引出射线. 2.计算每根射线所打到图像上的像素累计和,得到极坐标灰度曲线. 3.比较两张图的灰度曲线,得到最相关的偏移位置,即为两张图像的旋转角度. 原图: 旋转了10°的图像: 灰度曲线: 代码如下: main.m clear all; close all; clc; img1 = imread('lena.jpg'); img2 = imrotate(img…
十一没什么事干,接着看图像算法. 这个球面化算法最初是在ps上的球面化滤镜中看到的,感觉挺有意思,就研究了一下. 算法的详细推导可以在这篇博客中找到,我比较懒,只在纸上推了一遍,就不在博客上编辑了. 不过这里还是要把逆变换公式写一下. 公式如下: 其中R为球的半径,x,y为目标图像像素坐标,xx,yy为源图像像素坐标. 原图: 球面化后: matlab代码如下: clear all;close all;clc; img=imread('lena.jpg'); [h w]=size(img); i…
最近接触点云比较多,如果把图像投影到点云应该挺有意思. 首先需要载入图像,然后做个球或其他什么形状的点云,这里可以参考球坐标公式. 最后通过pcshow将像素输出到点云上即可. 原图: 投影后的点云: 代码如下: clear all; close all; clc; img = imread('lena.jpg'); [m,n,d]=size(img); I=reshape(img,[],d); R=; x=zeros(m*n,); y=zeros(m*n,); z=zeros(m*n,); n…
处理原理就是将邻域像素平均值赋给邻域中的所有像素. 这里将处理方法分为了带线条和不带线条,带线条处理后的视觉效果要好些. 原图: 处理结果(不带线条): 处理结果(带线条): 代码处理的是带线条的情况. matlab代码如下: clear all; close all;clc; img=imread('lena.jpg'); imshow(img,[]); [h w]=size(img); imgn=zeros(h,w); n=; nw=floor(w/n)*n; nh=floor(h/n)*n…
(一)图像几何变换理论知识 (1)图像的平移与比例 图像的平移很简单,平移前后的坐标分别为(x,y)和(x',y'),则满足的关系式为 x'= x +Tx: y'= y +Ty: 其中Tx与Ty分别为对应的偏移量. 图像的比例也很简单,可以描述为:x'=S_x * x;  y'=S_y * y; 那么上述的关系怎么用一个矩阵来表示呢?一个很重要的矩阵来了,那就是变换矩阵T,并且对于二维坐标下的点,一般转化为笛卡尔坐标系下进行计算,用一个三维点表示二维的,只不过把最后一项值置为1,这样一个二维坐标…
本篇懒得排版,直接在网页html编辑器编辑 在图像处理时,我们常常需要求出图像的直方图.灰度平均值.灰度的方差,这里给出一个opencv2+自带程序,实现这些功能. 直方图 对于直方图,使用cv::calcHist函数可以求出. 原型 void calcHist(const Mat* arrays, int narrays, const int* channels, InputArray mask, OutputArray hist, int dims, const int* histSize,…
matlab练习程序(SUSAN检测) SUSAN算子既可以检测角点也可以检测边缘,不过角点似乎比不过harris,边缘似乎比不过Canny.不过思想还是有点意思的. 主要思想就是:首先做一个和原图像等大的目标图像.然后用一个圆形的模板,用模板去遍历原图像每个像素,把模板内的每个像素都和模板中心像素比较,如果灰度小于一个阈值,那么就对目标图像当前和原图像相同位置的像素加一,直到结束.目标图像中在原图像是角点的位置就会取局部极小,所以做一个反向的相减.img=max(img)-img,if img…
matlab练习程序(HOG方向梯度直方图)http://www.cnblogs.com/tiandsp/archive/2013/05/24/3097503.html HOG(Histogram of Oriented Gradient)方向梯度直方图,主要用来提取图像特征,最常用的是结合svm进行行人检测. 算法流程图如下(这篇论文上的): 下面我再结合自己的程序,表述一遍吧: 1.对原图像gamma校正,img=sqrt(img); 2.求图像竖直边缘,水平边缘,边缘强度,边缘斜率. 3.…
BRIEF特征全称:Binary Robust Independent Elementary Features.是一种能够快速计算图像特征描述符的方法,同样能够降低特征匹配的时间. 算法计算步骤如下: 1.首先对一张图像计算其特征点,这里就用matlab自带的harris角点检测了,harris代码细节可以参考这一篇博客. 2.对图像进行高斯滤波,这里选用9*9矩阵,主要是为了去除随机噪点. 3.以特征点为中心,取SxS的邻域窗口.在窗口内随机选取一对(两个)点,比较二者像素的大小,进行如下二进…
[TOC] 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行 程序源码 import java.io.IOException; import java.util.Iterator; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io…