灰度图像

Harris角点检测

帅比萌擦擦* 提交于 2019-11-30 21:22:09
Harris角点检测 1.角点概述 角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点在保留图像图形重要特征的同时,可以有效地减少信息的数据量,使其信息的含量很高, 有效地提高了计算的速度,有利于图像的可靠匹配,使得实时处理成为可能。角点在三维场景重建运动估计,目标跟踪、目标识别、图像配准与匹配等计算机视觉领域起着非常重要的作用 。在现实世界中,角点对应于物体的拐角,道路的十字路口、丁字路口等。从图像分析的角度来定义角点可以有以下两种定义: a. 角点可以是两个边缘的角点; b. 角点是邻域内具有两个主方向的特征点; 前者往往需要对图像边缘进行编码,这在很大程度上依赖于图像的分割与边缘提取,具有相当大的难度和计算量,且一旦待检测目标局部发生变化,很可能导致操作的失败。 早期主要有Rosenfeld和Freeman等人的方法,后期有CSS等方法。基于图像灰度的方法通过计算点的曲率及梯度来检测角点, 避免了第一类方法存在的缺陷,此类方法主要有Moravec算子、Forstner算子、Harris算子、SUSAN算子等。本文主要介绍的Harris角点检测的算法原理。 2. Harris角点检测基本原理 人眼对角点的识别通常是在一个局部的小区域或小窗口完成的。 如果在各个方向上移动这个特征的小窗口,窗口内区域的灰度发生了较大的变化,那么就认为在窗口内遇到了角点。

数字图像处理——图像增强

ぐ巨炮叔叔 提交于 2019-11-30 13:38:58
图像增强 图像增强的目的是:改善图像的视觉效果或使图像更适合于人或机器的分析处理 \[ 图像增强 \begin{cases} 空域法 \begin{cases} 点操作 \begin{cases} 直接灰度变换\\ 直方图修正 \end{cases}\\ 邻域操作 \begin{cases} 图像平滑\\ 图像锐化 \end{cases} \end{cases}\\ 频域法 \begin{cases} 低通滤波\\ 高通滤波 \end{cases} \end{cases} \] 点操作 直接灰度变换 \(g(x,y)=T[f(x,y)]\) \(T\) => 灰度映射函数 坐标位置 \((x,y)\) 为 \(f\) 的自变量,表示当前灰度值,经过函数 \(T\) 转变为 \(g\) , 注意在T函数中 \(f(x,y)\) 为其自变量 直接灰度变换又可以分为: 线性变换 分段线性变换 非线性变换 线性变换 & 分段线性变换 对于 \(f(x,y)\) 灰度范围为 \([a,b]\) 的部分,进行线性变换 \[g(x,y) = {d-c\over b-a}[f(x,y)-a]+c\] 我们可以用它来做什么? 举个简单的例子,我们可以很容易的通过调整灰度分布,使得图片白的部分更白,黑的部分更黑 void increase(Mat &inputImage, Mat&

【图像分割python实现六】灰度共生矩阵

让人想犯罪 __ 提交于 2019-11-30 12:10:46
# -*- coding: utf-8 -*- import matplotlib . pyplot as plt import numpy as np import cv2 """ 灰度共生矩阵 GLCM 1. 取 N*M 图像的任意一点(x, y),以及另外一点(x+a, y+b) 对应的灰度值为(g1, g2) 备注:这里g1对应(x,y)的灰度值,g2对应(x+a, x+b)的灰度值 2. 遍历图像则会有 N*M 个(g1, g2)的值, 根据这个值出现的频率计算P(g1, g2) 3. 这个概率分布就是灰度共生矩阵 备注:这里a和b取不同的值,就意味着图像从不同的方向进行扫描形成灰度共生矩阵, 例如 a = 1 b = 0,则是水平向左扫描 根据这个灰度共生矩阵,可以直接得出类似ASM能量(灰度共生矩阵的平方和)、对比度、逆差距等一些列图像特征; """ #path = '/XXXXX/' #img = cv2.imread(path + 'wenli01.jpeg') path = '/Volumes/项目/10.Deep Learning/06.Severstal Steel Defect Detection/00.data/train_images/' img = cv2 . imread ( path + '0002cc93b.jpg' ) img_gray =

OpenCV简单的图像灰度化

孤人 提交于 2019-11-30 04:04:30
OpenCV简单的图像灰度化 图像灰度化算是数字图像处理中很简单的操作了,这里使用OpenCV简单尝试一下。 简单粗暴的方法: 最简单粗暴的方法只需要一行代码,如下: Mat mat = imread( "Image.jpg" , IMREAD_GRAYSCALE); 其中,第一个为图像文件的储存路径,第二个为打开图像的模式。模式总共有以下几种: enum ImreadModes { IMREAD_UNCHANGED = - 1 , //啥都不做,该咋样咋样 IMREAD_GRAYSCALE = 0 , //转换成灰度图 IMREAD_COLOR = 1 , //转换成3通道RGB颜色 IMREAD_ANYDEPTH = 2 , // IMREAD_ANYCOLOR = 4 , //加载所有支持的格式,不转换 IMREAD_LOAD_GDAL = 8 , IMREAD_REDUCED_GRAYSCALE_2 = 16 , IMREAD_REDUCED_COLOR_2 = 17 , IMREAD_REDUCED_GRAYSCALE_4 = 32 , IMREAD_REDUCED_COLOR_4 = 33 , IMREAD_REDUCED_GRAYSCALE_8 = 64 , IMREAD_REDUCED_COLOR_8 = 65 , IMREAD_IGNORE_ORIENTATION

OpenCV读取灰度图像

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-30 04:04:06
在写OpenCV程序时,发现通过image = imread(“the path of a image”);的方式读入的灰度图片都是3通道,并且每个通道都完全相同,可以通过打印image.channels()进行测试。 为了正确地读入灰度图像,需要通过image = imread(“the path of a image”, IMREAD_GRAYSCALE);的方式来实现,同样打印image.channels()发现读入的图片只有单通道。 来源: CSDN 作者: chensonglu 链接: https://blog.csdn.net/lkj345/article/details/53148617

灰度图像复原——空间滤波——中值滤波器(Matlab)

两盒软妹~` 提交于 2019-11-29 06:28:40
%%%%%%------------------图像复原之空间滤波--------------------------------- clc; clear; %读入图像,并转换为double型 I=imread('D:\Gray Files\5-13.tif'); I_D=im2double(I); [MM,NN]=size(I_D); %%%%%----------------------2、顺序统计滤波器------------------------------- %%======================= 2.1 中值滤波器============================= %定义子窗口的尺寸 m=3; n=3; %确定要扩展的行列数 len_m=floor(m/2); len_n=floor(n/2); %将原始图像进行扩展,这里采用了镜像扩展,以进行图像边缘计算 I_D_pad=padarray(I_D,[len_m,len_n],'symmetric'); %获得扩展后的图像尺寸 [M,N]=size(I_D_pad); J_Median=zeros(MM,NN); %逐点计算子窗口的谐波平均 for i=1+len_m:M-len_m for j=1+len_n:N-len_n %从扩展图像中取出子图像 Block=I_D_pad(i-len_m:i

灰度图像复原——空间滤波——几何均值滤波器(Matlab)

↘锁芯ラ 提交于 2019-11-29 05:45:53
%%%%%%------------------图像复原之空间滤波--------------------------------- clc; clear; %读入图像,并转换为double型 I=imread('D:\Gray Files\5-13.tif'); I_D=im2double(I); [MM,NN]=size(I_D); %%%%%----------------------1、均值滤波器----------------------------------- %%===================== 1.2 几何均值滤波器================================= %定义子窗口的尺寸 m=7; n=7; %确定要扩展的行列数 len_m=floor(m/2); len_n=floor(n/2); %将原始图像进行扩展,这里采用了镜像扩展,以进行图像边缘计算 I_D_pad=padarray(I_D,[len_m,len_n],'symmetric'); %获得扩展后的图像尺寸 [M,N]=size(I_D_pad); J_Geometric=zeros(MM,NN); %逐点计算子窗口的几何平均 for i=1+len_m:M-len_m for j=1+len_n:N-len_n %从扩展图像中取出子图像 Block=I_D_pad

灰度图像复原——空间滤波——谐波均值滤波器(Matlab)

独自空忆成欢 提交于 2019-11-29 05:45:53
%%%%%%------------------图像复原之空间滤波--------------------------------- clc; clear; %读入图像,并转换为double型 I=imread('D:\Gray Files\5-13.tif'); I_D=im2double(I); [MM,NN]=size(I_D); %%%%%----------------------1、均值滤波器----------------------------------- %%======================= 1.3 谐波均值滤波器=============================== %定义子窗口的尺寸 m=5; n=5; %确定要扩展的行列数 len_m=floor(m/2); len_n=floor(n/2); %将原始图像进行扩展,这里采用了镜像扩展,以进行图像边缘计算 I_D_pad=padarray(I_D,[len_m,len_n],'symmetric'); %获得扩展后的图像尺寸 [M,N]=size(I_D_pad); J_Harmonic=zeros(MM,NN); %逐点计算子窗口的谐波平均 for i=1+len_m:M-len_m for j=1+len_n:N-len_n %从扩展图像中取出子图像 Block=I_D_pad(i

灰度图像复原——空间滤波——逆谐波均值滤波器(Matlab)

回眸只為那壹抹淺笑 提交于 2019-11-29 05:02:43
%%%%%%------------------图像复原之空间滤波--------------------------------- clc; clear; %读入图像,并转换为double型 I=imread('D:\Gray Files\5-13.tif'); I_D=im2double(I); [MM,NN]=size(I_D); %%%%%----------------------1、均值滤波器----------------------------------- %%======================= 1.4 逆谐波均值滤波器============================= %定义子窗口的尺寸 m=3; n=3; %确定要扩展的行列数 len_m=floor(m/2); len_n=floor(n/2); %将原始图像进行扩展,这里采用了镜像扩展,以进行图像边缘计算 I_D_pad=padarray(I_D,[len_m,len_n],'symmetric'); %获得扩展后的图像尺寸 [M,N]=size(I_D_pad); %滤波器阶数 Q=1.5; J_Contraharmonic=zeros(MM,NN); %逐点计算子窗口的谐波平均 for i=1+len_m:M-len_m for j=1+len_n:N-len_n

灰度图像的频率域滤波——高斯(Gaussian)低通滤波器(Matlab)

人盡茶涼 提交于 2019-11-29 04:59:35
clc; clear all; close all; %读入图像,并转换为double型 I=imread('D:\Gray Files\4-41.tif'); I_D=im2double(I); %获得图像的高度和宽度 [M,N]=size(I_D); %图像中心点 M0=M/2; N0=N/2; J=fft2(I_D); J_shift=fftshift(J); %%%%===================高斯(Gaussian)低通滤波器========================== %截至频率距离圆点的距离,delta表示高斯曲线的扩散程度 D0=80; delta=D0; for x=1:M for y=1:N %计算点(x,y)到中心点的距离 d2=(x-M0)^2+(y-N0)^2; %计算高斯滤波器 h=exp(-d2/(2*delta^2)); %用滤波器乘以主函数 J_shift(x,y)=J_shift(x,y)*h; end end J=ifftshift(J_shift); I_D_rep=ifft2(J); imshow(I_D_rep,[]); 来源: https://blog.csdn.net/lengo/article/details/100527527