灰度图像

图像灰度处理

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-29 04:26:26
这里采用四种方法对图像进行灰度处理: 方法一:读取图片时只读取灰度图像 方法二:调用opencv Api实现 方法三:算法实现图像灰度:gray = (B + G + R)/3 方法四:算法实现:gray = r*0.299 + g*0.587 + b*0.114 代码: import cv2import numpy as npgray1 = cv2.imread('D:/pythonob/imageinpaint/img/zidan.jpg',0)#方法一imgSrc = cv2.imread('D:/pythonob/imageinpaint/img/zidan.jpg',1)gray2 = cv2.cvtColor(imgSrc,cv2.COLOR_BGR2GRAY)#方法二:API实现图像灰度。第二个参数:转换方式BGR-->gray#方法三;算法实现图像灰度:gray = (B + G + R)/3imgInfo = imgSrc.shapeheight = imgInfo[0]width = imgInfo[1]gray3 = np.zeros((height,width,3),np.uint8)for i in range(0,height): for j in range(0,width): (b,g,r) = imgSrc[i,j] gray = (int(b)

图像特征-图像的数字化

痴心易碎 提交于 2019-11-29 00:26:08
图像的数字化就是把一幅图像分割成一个个小的单元区域(叫做像元或者像素),这些单个的像素可以单个的用一个量化的区域来表示,灰度用整数来表示,形成一个阵列式的图像,每个像素的属性包含位置灰度/颜色,数字化包含采样和量化两个过程。 数值图像如何表示的? 黑白图像:每个像素只能是黑白,没有中间的过渡,故又称为二值图像,二值图像只能用0和1来表示。 灰度图像:由一个量化的灰度来表示,没有彩色信息,用8位字节来表示,可表示256级灰度[0,255] (由上图可见。图像存储在了矩阵中,黑色用0来描述,白色用250描述,灰色大概是180~200) 彩色图像:彩色图像用三个字节(24位)来描述一个像素,R,G,B是由不同的灰度级来描述。 (由上图可见红色可用(255,0,0)来描述,黄色可由(255,255,0)来描述,绿色可由(0,255,0)描述,蓝色可由(0,0,255)描述) 我们已经知道图像数字化包含两个过程,即采样和量化,图像数字化的过程是怎样的呢? 所谓采样,就是把一幅连续图像在空间上分割成M×N个网格,每个网格用一亮度值来表示。一个网格称为一个像素。M×N的取值满足采样定理。 采样包含两个参数:采样间隔和采样孔径 采样间隔 采样孔径:一般分为圆形,正方形,长方形,椭圆形 采样的方式分为有缝,无缝,重叠三种。 量化:指将像素灰度级转换成离散的整数值的过程。

灰度共生矩阵(Gray-level Co-occurrence Matrix,GLCM),矩阵的特征量

心不动则不痛 提交于 2019-11-28 22:47:13
又叫做灰度共现矩阵 Prerequisites 概念 计算方式 对于精度要求高且纹理细密的纹理分布,我们取像素间距为 d = 1 d=1,以下是方向的说明: 我们来看,matlab内置工具箱中的灰度共生矩阵的生成函数graycomatrix(gray-level co-occurrence matrix)对方向的说明: 如上图所示,方向是在每一个像素点(pixel of interest)的邻域(当然,边界点除外)中获得的,只不过这里的坐标系变为了: δ = ( 0 , ± 1 ) δ=(0,±1)为水平方向扫描,也即 θ = 0 ∘ o r θ = 180 ∘ θ=0∘orθ=180∘; δ = ( ± 1 , 0 ) δ=(±1,0)为垂直扫描( θ = 90 ∘ o r θ = − 90 ∘ θ=90∘orθ=−90∘); δ = ( 1 , − 1 ) , δ = ( − 1 , 1 ) δ=(1,−1),δ=(−1,1)是 − 45 ∘ −45∘或 135 ∘ 135∘扫描; δ = ( 1 , 1 ) , δ = ( − 1 , − 1 ) δ=(1,1),δ=(−1,−1)是 45 ∘ 45∘扫描。 一旦像素间距离 d d以及像素间空间位置关系 δ δ确定,即可生成灰度共生矩阵。 GLCM所表示的是纹理图像的某些统计特性,所谓统计,通俗地讲就是累计某种情况出现的次数

纹理特征描述之灰度差分统计特征(平均值 对比度 熵) 计算和比较两幅纹理图像的灰度差分统计特征 matlab代码实现

落爺英雄遲暮 提交于 2019-11-28 19:56:23
灰度差分统计特征有: 平均值: ​ 对比度: ​ 熵: ​ i表示某一灰度值,p(i)表示图像取这一灰度值的概率 close all;clear all;clc; % 纹理图像的灰度差分统计特征 J = imread('qiang1.jpg'); A = double(J); [m,n] = size(A); B = A; C = zeros(m,n); for i=1:m-1 for j=1:n-1 B(i,j) = A(i+1,j+1); C(i,j) = abs(round(A(i,j)-B(i,j))); end end h = imhist(mat2gray(C))/(m*n); mean = 0;con=0;ent=0; %均值mean,对比度con,熵ent for i=1:256 mean = mean + (i*h(i))/256; con = con+i*i*h(i); if(h(i)>0) ent = ent-h(i)*log2(h(i)); end end mean,con,ent ​ ​ qiang1.jpg qiang2.jpg ​ ​ 可以看到qiang1.jpg的对比度更高;熵值更高,图像更加混乱;均值更大,图像看起来颜色偏深一点。 来源: https://www.cnblogs.com/wojianxin/p/11425052.html

python图片二值化提高识别率

血红的双手。 提交于 2019-11-28 08:47:51
   import cv2 from PIL import Image from pytesseract import pytesseract from PIL import ImageEnhance import re import string def createFile(filePath,newFilePath): img = Image.open(filePath) # 模式L”为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。 Img = img.convert('L') Img.save(newFilePath) # 自定义灰度界限,大于这个值为黑色,小于这个值为白色 threshold = 200 table = [] for i in range(256): if i < threshold: table.append(0) else: table.append(1) # 图片二值化 photo = Img.point(table, '1') photo.save(newFilePath) if __name__ == '__main__': createFile(r'1.bmp',r'newTest.png') 原图: 处理过后的图: 识别结果: 来源: https://www.cnblogs.com

车牌定位方法

两盒软妹~` 提交于 2019-11-28 04:47:13
摘要:针对现存车牌定位方法自适应性差和鲁棒性不强的情况,本文提出了一种新的快速自适应车牌定位算法.此算法结合图象中车牌区域的纹理特征、灰度和边缘投影信息定位车牌,经对不用场景、不同光照、不同车型的汽车图象的实验表明该算法具有快速,鲁棒性强,自适应性好的优点。 关键词:智能交通系统,车牌定位,纹理分析,灰度投影, 自适应 基于图象理解的汽车牌照自动识别系统是智能交通系统(ITS)的一个重要分支,有着非常广泛的应用前景,而把汽车牌照从复杂的汽车图象中分割出来是汽车牌照自动识别系统必须解决的关键问题。在过去的十几年中,各国的科研人员提出了不少提取汽车牌照的方法。Choi[1] 提出利用Hough变换寻找垂直边缘提取汽车牌照的方法,此方法由于许多汽车前部散热器产生的垂直边缘和某些牌照边框的扭曲或某些汽车牌照没有边框而鲁棒性较差。S.H.Park[2] 提出的一种基于神经网络提取汽车牌照的方法,使用二个时延神经网络在水平和垂直方向对输入的图象进行滤波,得到牌照的候选区域,然后利用牌照的长宽比、面积、面积与周长比来区分真正的牌照区域与类牌照区域。此方法要求图象中的牌照尺寸基本不变,一旦图象中的牌照尺寸发生了较大的变化,必须对神经网络重新进行训练。Barroso[5] 认为车牌区域具有较强的灰度变化特性,对图象分别做水平和垂直方向的投影,根据投影的波峰和波谷的特点来判断车牌区域的水平和垂直位置

图像识别技术初探(2014/2/17)

断了今生、忘了曾经 提交于 2019-11-27 23:04:35
目录 1 前言. 1 1.1 植物的发展史. 1 1.1.1 植物界的类群及多样性. 1 1.1.2 植物的分类等级. 2 1.2植物的识别方法. 3 1.2.1 花与种子的特性. 3 1.2.2 叶子的特征. 3 1.3 什么是数字图像处理. 5 1.3.1 数字图像处理概念及其意义. 5 1.3.2 数字图像处理中的基本图像类型. 6 1.3.3 图像格式分析. 7 1.4 什么是模式识别. 8 1.4.1 模式识别的概念. 8 1.4.2 模式识别研究方向. 9 1.4.3 模式识别在实际中的应用. 10 2 预处理与算法研究. 10 2.1 图像的预处理. 10 2.2 数字图像处理方法. 11 2.2.1 二值处理. 11 2.2.2 模糊模式识别算法. 12 2.2.3 边缘检测与轮廓提取. 12 3.2.4 信息存储. 14 3 算法实现. 14 3.1 分析实际工作过程. 14 3.2 算法实现过程. 15 3.2.1 掏空内部点算法的基本思想. 15 3.2.2 边界跟踪算法的基本思想. 15 3.2.3 部分实现代码. 18 4 小结分析. 25 5 参考文献. 26 6 致谢. 27 1 前言 1.1 植物的发展史 1.1.1 植物界的类群及多样性 植物界的发生和发展经历了漫长的历史,随着地球历史的发展,由原始生物不断演化,其间大约经历了30亿年

图像预处理

怎甘沉沦 提交于 2019-11-27 01:02:29
1、主流颜色空间 RGB三通道彩色图,每个通道都是[0,255],常用的三通道—>单通道,Gray=R*0.3+G*0.59+B*0.11 2、图像增强的目标 改善图像的视觉效果 转换为更适合人或机器分析处理的形式; 突出对人或机器分析有意义的信息 抑制无用信息,提高图像的使用价值 包括图像锐化、平滑、去躁、灰度调整(对比度增强) 3、图像处理方法 3.1 特征提取方法 直方图 3.2 空间域处理及其变换 来源: https://www.cnblogs.com/yqpy/p/11337369.html

cvtColor(src, src_gray, CV_BGR2GRAY)报错

a 夏天 提交于 2019-11-26 19:27:57
利用cvtColor 进行灰度转换时,不能将 灰度图 转为灰度图,所以在转换前,需对原始图像进行判断。 将这个改成以下 int main(int argc, char* argv[]) { Mat m = imread("2.jpg", CV_LOAD_IMAGE_COLOR); IplImage src(m); cvNamedWindow("showImage"); IplImage* gimg = cvCreateImage(cvGetSize(&src), 8, 1); cvCvtColor(&src, gimg, CV_BGR2GRAY); cvSaveImage("1.jpg", gimg); cvShowImage("showImage", gimg); cvWaitKey(0); cvReleaseImage(&gimg); cvDestroyWindow("showImage"); return 0; }   完整代码: #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> #include <stdio.h> #include <stdlib.h> using namespace cv; using namespace

直方图均衡基本原理及Python实现

ぐ巨炮叔叔 提交于 2019-11-26 12:07:02
1. 基本原理 通过一个变换,将输入图像的灰度级转换为`均匀分布`,变换后的灰度级的概率密度函数为 $$P_s(s) = \frac{1}{L-1}$$ 直方图均衡的变换为 $$s = T(r) = (L-1)\int_0^r {P_r(c)} \,{\rm d}c $$ $s$为变换后的灰度级,$r$为变换前的灰度级 $P_r(r)$为变换前的概率密度函数 2. 测试结果 图源自skimage 3.代码 1 import numpy as np 2 3 def hist_equalization(input_image): 4 ''' 5 直方图均衡(适用于灰度图) 6 :param input_image: 原图像 7 :return: 均衡后的图像 8 ''' 9 output_imgae = np.copy(input_image) # 输出图像,初始化为输入 10 11 input_image_cp = np.copy(input_image) # 输入图像的副本 12 13 m, n = input_image_cp.shape # 输入图像的尺寸(行、列) 14 15 pixels_total_num = m * n # 输入图像的像素点总数 16 17 input_image_grayscale_P = [] # 输入图像中各灰度级出现的概率,亦即输入图像直方图