2019-09-05 19:26:12 lengo 阅读数 632
  • 学习OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频教程

    OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频培训课程概况:教程中会讲解到基于opencv视频和摄像机录制、播放和播放进度控制,多视频图像合并、多视频图像融合、剪切、视频亮度、对比度、尺寸(近邻插值(手动实现),双线性插值,图像金字塔)、颜色格式(灰度图,二值化(阈值)),旋转镜像,视频裁剪(ROI),视频水印(ROI+weight),导出处理后的视频(包含音频,使用ffmpeg工具对音频进行抽取、剪切和终于opencv处理的视频合并)。

    20576 人正在学习 去看看 夏曹俊
clc;
clear all;
close all;
%灰度梯度测试图像
I=im2double(imread('D:\Gray Files\9-39.tif'));
    
%===============================灰度梯度===================================
%3*3结构元素
n=3;
B=ones(3,3);
n_l=floor(n/2);
%对边界图进行扩充,目的是为了处理边界点,这里采用边界镜像扩展
I_pad=padarray(I,[n_l,n_l],'symmetric');
[M,N]=size(I);
J_Erosion=zeros(M,N);
J_Dilation=zeros(M,N);
J_Gradient=zeros(M,N);
for i=1:M
    for j=1:N
        %获得图像子块区域
        Block=I_pad(i:i+2*n_l,j:j+2*n_l);
        C=Block.*B;
        C=C(:);
        %腐蚀操作
        J_Erosion(i,j)=min(C);
        %膨胀操作
        J_Dilation(i,j)=max(C);
        %灰度梯度
        J_Gradient(i,j)=J_Dilation(i,j)-J_Erosion(i,j);
    end
end
imshow(J_Gradient)

 

2019-11-03 11:25:18 weixin_43897604 阅读数 86
  • 学习OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频教程

    OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频培训课程概况:教程中会讲解到基于opencv视频和摄像机录制、播放和播放进度控制,多视频图像合并、多视频图像融合、剪切、视频亮度、对比度、尺寸(近邻插值(手动实现),双线性插值,图像金字塔)、颜色格式(灰度图,二值化(阈值)),旋转镜像,视频裁剪(ROI),视频水印(ROI+weight),导出处理后的视频(包含音频,使用ffmpeg工具对音频进行抽取、剪切和终于opencv处理的视频合并)。

    20576 人正在学习 去看看 夏曹俊

灰度共生矩阵

一个简单的例子

概念:像素灰度在空间位置上的反复出现形成图像的纹理,GLCM是描述具有某种空间位置关系两个像素灰度的联合分布。

链接:https://blog.csdn.net/Swithunm/article/details/87932630

在图像中任意一点(x,y)及偏离它的一点(x+a,y+b)(其中a,b为整数,认为定义)构成点对。设该点对的灰度值为(f1,f2),假设图像的最大灰度级为L,则f1与f2的组合共有L*L种。对于整福图像,统计每一种(f1,f2)值出现的次数,然后排列成一个方阵,再用(f1,f2)出现的总次数将它们归一化为出现的概率P(f1,f2),由此产生的矩阵为灰度共生矩阵。
在这里插入图片描述

灰度共生矩阵特征量

共生矩阵实际上是两个像素点的联合直方图,对于图像中细而规则的纹理,成对像素点的二维直方图倾向于均匀分布;对于粗而规则的纹理,则倾向于最对角分布。

  1. 对比度
    度量 矩阵的值是如何分布和图像中局部变化的多少,反应了图像的清晰度和纹理的沟纹深浅。纹理的沟纹越深,反差越大,效果越清晰;反之,对比值小,则沟纹浅,效果模糊。
    在这里插入图片描述
  2. 能量
    能量变换反映了图像灰度分布均匀程度和纹理粗细度。若灰度共生矩阵的元素值相近,则能量较小,表示纹理细致;若其中一些值大,而其它值小,则能量值较大。能量值大表明一种较均一和规则变化的纹理模式。
    在这里插入图片描述

  3. 图像包含信息量的随机性度量。当共生矩阵中所有值均相等或者像素值表现出最大的随机性时,熵最大;因此熵值表明了图像灰度分布的复杂程度,熵值越大,图像越复杂。
    在这里插入图片描述
  4. 逆方差
    逆方差反映了图像纹理局部变化的大小,若图像纹理的不同区域间较均匀,变化缓慢,逆方差会较,反之较小。
    在这里插入图片描述
  5. 相关性
    用来度量图像的灰度级在行或列方向上的相似程度,因此值得大小反应了局部灰度相关性,值越大,相关性也越大。
    在这里插入图片描述
    参考链接:https://blog.csdn.net/guanyuqiu/article/details/53117507

灰度梯度共生矩阵

灰度梯度共生矩阵模型集中反映了图像中两种最基本的要素,即像点的灰度和梯度(或边缘)的相互关系。各像点的灰度是构成一副图像的基础,而梯度是构成图像边缘轮廓的要素,图像的主要信息是由图像的边缘轮廓提供的。

灰度梯度共生矩阵的分类结果比用灰度共生矩阵好,因为灰度共生矩阵仅用的灰度的信息,而灰度梯度共生矩阵把图像的灰度与梯度信息都用了。

灰度一梯度共生矩阵的元素H( i,j ) 定义为在归 一的灰度图象F( m,n ) 和归一的梯度图象G ( m,n ) 中共同具有灰度为 i 和梯度为 j 的总象点数 . 例如 H ( 10,12 ) =20 , 即图象内象点灰度为10 , 梯度为12的总象点数为20. 以图象的总象点数归一后得到概率为p( i,j )。

在这里插入图片描述在这里插入图片描述
摘自论文:洪继光《灰度一梯度共生矩阵纹理分析方法》

2019-09-15 10:28:03 qq_37749442 阅读数 226
  • 学习OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频教程

    OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频培训课程概况:教程中会讲解到基于opencv视频和摄像机录制、播放和播放进度控制,多视频图像合并、多视频图像融合、剪切、视频亮度、对比度、尺寸(近邻插值(手动实现),双线性插值,图像金字塔)、颜色格式(灰度图,二值化(阈值)),旋转镜像,视频裁剪(ROI),视频水印(ROI+weight),导出处理后的视频(包含音频,使用ffmpeg工具对音频进行抽取、剪切和终于opencv处理的视频合并)。

    20576 人正在学习 去看看 夏曹俊

前面我们提到,当用均值滤波器降低图像噪声的时候,会带来图像模糊的副作用。我们当然希望看到的是清晰图像。那么,清晰图像和模糊图像之间的差别在哪里呢?从逻辑上考虑,图像模糊是因为图像中物体的轮廓不明显,轮廓边缘灰度变化不强烈,层次感不强造成的,那么反过来考虑,轮廓边缘灰度变化明显些,层次感强些是不是图像就更清晰些呢。

那么,这种灰度变化明显不明显怎样去定义呢。我们学过微积分,知道微分就是求函数的变化率,即导数(梯度),那么对于图像来说,可不可以用微分来表示图像灰度的变化率呢,当然是可以的,前面我们提到过,图像就是函数嘛。

在微积分中,一维函数的一阶微分的基本定义是这样的:
在这里插入图片描述

而图像是一个二维函数f(x,y),其微分当然就是偏微分。因此有:
在这里插入图片描述
因为图像是一个离散的二维函数,ϵϵ不能无限小,我们的图像是按照像素来离散的,最小的ϵϵ就是1像素。因此,上面的图像微分又变成了如下的形式(ϵ=1ϵ=1):
在这里插入图片描述

这分别是图像在(x, y)点处x方向和y方向上的梯度,从上面的表达式可以看出来,图像的梯度相当于2个相邻像素之间的差值。

那么,这个梯度(或者说灰度值的变化率)如何增强图像的清晰度呢?

我们先考虑下x方向,选取某个像素,假设其像素值是100,沿x方向的相邻像素分别是90,90,90,则根据上面的计算其x方向梯度分别是10,0,0。这里只取变化率的绝对值,表明变化的大小即可。
在这里插入图片描述

我们看到,100和90之间亮度相差10,并不是很明显,与一大群90的连续灰度值在一起,轮廓必然是模糊的。我们注意到,如果相邻像素灰度值有变化,那么梯度就有值,如果相邻像素灰度值没有变化,那么梯度就为0。如果我们把梯度值与对应的像素相加,那么灰度值没有变化的,像素值不变,而有梯度值的,灰度值变大了。
在这里插入图片描述
我们看到,相加后的新图像,原图像像素点100与90亮度只相差10,现在是110与90,亮度相差20了,对比度显然增强了,尤其是图像中物体的轮廓和边缘,与背景大大加强了区别,这就是用梯度来增强图像的原理。

上面只是说了x方向,y方向是一样的。那么能否将x方向和y方向的梯度结合起来呢?当然是可以的。x方向和y方向上的梯度可以用如下式子表示在一起:

这里又是平方,又是开方的,计算量比较大,于是一般用绝对值来近似平方和平方根的操作,来降低计算量:
M(x,y)=|gx|+|gy|
我们来计算一下月球图像的x方向和y方向结合的梯度图像,以及最后的增强图像。(原图像来自冈萨雷斯的《数字图像处理》一书。)

import cv2
import numpy as np

moon = cv2.imread("moon.tif", 0)
row, column = moon.shape
moon_f = np.copy(moon)
moon_f = moon_f.astype("float")

gradient = np.zeros((row, column))

for x in range(row - 1):
    for y in range(column - 1):
        gx = abs(moon_f[x + 1, y] - moon_f[x, y])
        gy = abs(moon_f[x, y + 1] - moon_f[x, y])
        gradient[x, y] = gx + gy

sharp = moon_f + gradient
sharp = np.where(sharp < 0, 0, np.where(sharp > 255, 255, sharp))

gradient = gradient.astype("uint8")
sharp = sharp.astype("uint8")
cv2.imshow("moon", moon)
cv2.imshow("gradient", gradient)
cv2.imshow("sharp", sharp)
cv2.waitKey()

2019-05-24 16:38:43 Polaris47 阅读数 253
  • 学习OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频教程

    OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频培训课程概况:教程中会讲解到基于opencv视频和摄像机录制、播放和播放进度控制,多视频图像合并、多视频图像融合、剪切、视频亮度、对比度、尺寸(近邻插值(手动实现),双线性插值,图像金字塔)、颜色格式(灰度图,二值化(阈值)),旋转镜像,视频裁剪(ROI),视频水印(ROI+weight),导出处理后的视频(包含音频,使用ffmpeg工具对音频进行抽取、剪切和终于opencv处理的视频合并)。

    20576 人正在学习 去看看 夏曹俊

现在大部分的彩色图像都是采用RGB颜色模式,处理图像的时候,要分别对RGB三种分量进行处理,实际上RGB并不能反映图像的形态特征,只是从光学的原理上进行颜色的调配。

  图像灰度化处理可以作为图像处理的预处理步骤,为之后的图像分割、图像识别和图像分析等上层操作做准备。

 

意义: 很多简单的识别算法对于颜色的依赖性不强,灰度化之后矩阵维数下降,运算速度大幅度提高,并且梯度信息仍然保留。

 

图像灰度化处理有以下几种方式:

  1. 分量法

  将彩色图像中的三分量的亮度作为三个灰度图像的灰度值,可根据应用需要选取一种灰度图像。

                  

  2. 最大值法

  将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。

  

  3. 平均值法

  将彩色图像中的三分量亮度求平均得到一个灰度值。

  

  4. 加权平均法

  根据重要性及其它指标,将三个分量以不同的权值进行加权平均。由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,按下式对RGB三分量进行加权平均能得到较合理的灰度图像。

 

 

实现效果如下:

2016-09-25 11:27:35 hjrcrj 阅读数 365
  • 学习OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频教程

    OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频培训课程概况:教程中会讲解到基于opencv视频和摄像机录制、播放和播放进度控制,多视频图像合并、多视频图像融合、剪切、视频亮度、对比度、尺寸(近邻插值(手动实现),双线性插值,图像金字塔)、颜色格式(灰度图,二值化(阈值)),旋转镜像,视频裁剪(ROI),视频水印(ROI+weight),导出处理后的视频(包含音频,使用ffmpeg工具对音频进行抽取、剪切和终于opencv处理的视频合并)。

    20576 人正在学习 去看看 夏曹俊

数字图像处理主要内容

  1. 图像获取表示和表现:图像模数转换,数字图像打印
  2. 图像复原:提高图像品质(退化原因已知)
  3. 图像增强:提高图像品质(退化原因已知)
  4. 图像分割:计算机把一副图像中的不同物体区分出来
  5. 图像分析:图像的特征提取,分类,识别,理解
  6. 图像重建:根据输入数据,转化出图像
  7. 图像压缩编码:压缩大数据量图像,便于存储和传输

数字图像

表示

用一个MxN矩阵,左上角(0,0),右下角M-1,N-1,表示图像,矩阵每一个元素都是一个像素。

灰度

灰度值0-255,表示从暗到明,用不同灰度值把采样的连续值表示出来。

颜色

每一个像素,用RGB三个值表示,三个值取值范围都是[0-255],共有255*255*255种可能,可以表示很多颜色,

分类

  1. 矢量图:用公式描述一幅图像,数据量小且缩放图像不失真,不易制作色彩丰富图像。
  2. 位图:用像素矩阵表示,色彩丰富,数据量大。

图像增强

灰度变换

灰度范围从[a,b]分段线性变换或非线性变换到[c,d]。

直方图

灰度级的函数,所有灰度出现频率统计的结果,与位置无关。
,反应了图像中每一灰度级出现的次数或频率。

均衡化

把分布集中的直方图,图像形状不变,均匀分布,增强图像对比度。

规定化

直方图按照设定的规则变化。

图像平滑

噪声

图像中,本不该出现的内容,频域中高频分量。

模板卷积

一个存储加权系数的3x3矩阵,与原图像函数卷积运算

卷积

函数A作用到函数B,设定一个区间,加权这段区间中A对B的所有影响,权值一般随时间递减或递增。

邻域平均

卷积模板实现用一个像素A相邻的像素的平均值或加权平均值表示像素A,然后把卷积算子与原图像卷积。

中值滤波

以像素中心做正方形窗,窗内所有灰度值从小到大排序,取中值作为输出结果,把窗内的所有值都换成这个中值。

图像平均

同一景物的多幅图像的矩阵累加,再取平均值。

图像锐化

梯度算子

图像是在x,y轴上的矩阵,梯度矩阵就是根据偏导x,和偏导y组成的矩阵,梯度就是求偏导,就是高中学的斜率,反应图像灰度变化的情况,二阶微分就是求两次导也叫二阶偏导,反应变化的变化率。和路程除以时间等于速度,速度求导等于加速度之类的类似。

拉普拉斯算子

实现在x和y方向求2阶偏导的一个2x2卷积矩阵。

锐化

把一个图像f(x,y)与梯度算子或拉普拉斯算子卷积后得到的矩阵就是锐化后的图像

非锐化滤波

原图像矩阵减去锐化后的矩阵

高频增强滤波

原图像矩阵加上锐化后的矩阵

伪彩色处理

  1. (时域)把不同灰度区间用不同的颜色表示
  2. (频域)不同频率用不同颜色表示

同态滤波

根据光照变化,自动调整图像质量

图像梯度

阅读数 335

图像的梯度和幅值

阅读数 9965

没有更多推荐了,返回首页