数字多媒体技术
文章平均质量分 91
油醋三椒
StuTan
展开
-
PIT绘制椭圆代码
介绍代码import numpy as npfrom PIL import Image array = np.ndarray((660, 660, 3), np.uint8)array[:, :, 0] = 255array[:, :, 1] = 255array[:, :, 2] = 255 for i in range(0,660,1): array[i,330]...原创 2019-12-23 21:27:09 · 234 阅读 · 0 评论 -
可用矩阵运算实现图形绕点旋转
介绍可用矩阵运算实现坐标变换,当一个一个图形绕(xfx_fxf, yfy_fyf),旋转 θ\thetaθ 度的变化矩阵为变化后的矩阵为[x1y11] =[xy1]×Trf\left[ \begin{matrix} x_1& y_1& 1\\\end{matrix} \right] \ =\left[ \begin{matrix} x& ...原创 2019-12-23 21:22:31 · 1124 阅读 · 0 评论 -
扫描线填充算法
介绍用水平扫描线从上到下扫描由点线段构成的多段构成的多边形。每根扫描线与多边形各边产生一系列交点。将这些交点按照x坐标进行分类,将分类后的交点成对取出,作为两个端点,以所填的色彩画水平直线。多边形被扫描完毕后,填色也就完成。数据结构活性边表:新边表:代码(使用数组)import numpy as npfrom PIL import Imagefrom PIL impo...原创 2019-12-23 21:11:51 · 1576 阅读 · 3 评论 -
有关线性滤波、滤波核的基本概念
线性滤波:原始数据与滤波结果是一种算术运算,即用邻域像素的加权和来替代该像素的值,对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值(如高斯滤波、均值滤波)。非线性滤波:原始数据与滤波结果是一种非线性运算,求一个像素周围3x3范围内最大值、最小值、中值、均值等操作都不是简单的加权(双边也是非线性的)。滤波核:滤波时输入图像一个小区域中像素...原创 2019-12-23 20:35:20 · 2674 阅读 · 0 评论 -
有关视频帧率、码率、压缩以及视频为什么多用YUV色彩空间的一些概念
帧率、码率、隔行逐行扫描的概念帧率:是称为帧的位图图像连续出现在显示器上的频率,即每秒钟帧数[number of frames per second]。码率:视频数据(视频色彩量、亮度量、像素量)每秒输出的位数。一般用的单位是kbps。逐行扫描:每一帧图像由电子束顺序地一行接着一行连续扫描而成,这种扫描方式称为逐行扫描。(图像可以看做是一个二维数组,逐行扫描是指在获取图像的时候从第0行...原创 2019-12-23 20:30:14 · 1877 阅读 · 0 评论 -
sobel计算以及代码
sobel 算子索贝尔算子(Sobel operator)主要用作边缘检测,在技术上,它是以离散性差分算子,用来计算凸显两素函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是法矢量。Sobel 的卷积因子为:该算子包含两组3 * 3 的矩阵,分别为横向和纵向,将之与图像做平面卷积,即可分别得出横向及纵向的亮度差分近似值,若以A代表为原始图像,Gx及Gy分别代表经横...原创 2019-12-23 20:20:18 · 5463 阅读 · 0 评论 -
图像的对比度、亮度、色彩饱和度调节以及灰度化
对比度的调节:将图像转化到HSV格式下,先选出所有亮度的中值。当要增加对比度的时候,则降低亮度值比中值小的值,增加亮度值比中值更大的值;当要减少对比度的时候,则增加亮度值比中值小的值,降低亮度值比中值更大的值,使所有亮度值向中值靠近。根据公式(x-avg_R(G/B)*a + x (a 为-1到1 之间,x 是原像素值)计算亮度的调节:介绍将图像转化为HLS格式,通过调整图像中L通道的值...原创 2019-12-23 19:33:32 · 4937 阅读 · 0 评论 -
Tensorflow拟合函数 sin(x) + cos(x)
介绍拟合函数 sin(x) + cos(x)其原理与神经网络的简单实例 原理类似,都是全连接型网络,对每一条连接设置参数并更新,共计算了5000次。代码import numpy as npimport matplotlib.pyplot as pltimport mathimport tensorflow.compat.v1 as tftf.disable_v2_behavior()...原创 2019-12-23 19:17:48 · 1361 阅读 · 0 评论 -
神经网络训练的简单示例以及代码
介绍这是一个简单的三层全连接网络,所谓全连接网络,就是每一层的每一个节点均与前一层的每一个节点相连,如下所示:h1h_1h1、h2h_2h2均与i1i_1i1、i2i_2i2相连 ;o1o_1o1、o2o_2o2也均与h1h_1h1、h2h_2h2相连计算步骤初始状态:前向计算:根据初始状态图可得以下公式:第一层到第二层的节点间计算:{neth1=w1×i1+w2...原创 2019-12-23 19:00:35 · 6072 阅读 · 1 评论 -
卷积神经网络的输入输出尺寸计算
给出输入尺寸和参数值计算输出尺寸当给出输入时尺寸(nn)、卷积核尺寸(mm)、步长Stride(s)、填充Padding§ 信息输出尺寸为:( ( n - m + 2 * p ) / s +1 ) * ( ( n - m + 2 * p ) / s +1 )解释: [外链图片转存失败,源站可能有防盗在这里插入!链机制,建描述]议将图片上https://传(imblog.csdnimg.cn...原创 2019-12-23 17:39:45 · 2714 阅读 · 0 评论 -
利用opencv的stitcher函数进行全景图拼接
代码import cv2 as cvdef main(): stitcher = cv.createStitcher(False) img1 = cv.imread(r'pin1.jpg') img2 = cv.imread(r'pin2.jpg') result = stitcher.stitch((img1,img2)) cv.imshow("pi...原创 2019-12-22 17:19:20 · 1230 阅读 · 0 评论 -
opencv函数提取图片的sift特征并显示(python)
代码import cv2 as cvimg = cv.imread(r"te.jpg")cv.imshow("original",img)gray = cv.cvtColor(img,cv.COLOR_RGB2GRAY)sift = cv.xfeatures2d.SIFT_create()keypoints, descriptor = sift.detectAndCompute(g...原创 2019-12-22 17:12:18 · 2437 阅读 · 0 评论 -
opencv + python 实现双边滤波
介绍双边滤波是一个非线性滤波,采用的也是加权求和的方法,其权值矩阵由一个与空间距离相关的高斯函数和一个与灰度距离相关的高斯函数相乘得到。它可以达到保持边缘、降噪平滑的效果。其权值矩阵公式为:分析双边滤波的权值矩阵有两部分构成,一部分是空间距离,另一部分是像素差异。双边滤波的核函数是空间域核与像素范围域核的综合结果:在图像的平坦区域,像素值变化很小,对应的像素范围域权重接近于1,此时空间...原创 2019-12-22 16:59:11 · 10929 阅读 · 13 评论 -
opencv+python实现高斯滤波
opencv+python实现高斯滤波import cv2 as cvimport numpy as npimport mathimport copygauss = np.array([1,2,1,2,4,2,1,2,1])def spilt( a ): if a/2 == 0: x1 = x2 = a/2 else: x1 = ...原创 2019-11-05 22:33:58 · 8715 阅读 · 5 评论 -
opencv + python 实现中值、最大值、最小值滤波
原理中值滤波其实就是对目标像素及周边像素取中值后再填回目标像素来实现滤波目的的方法。(最大值、最小值同理)优点:抑制椒盐噪点效果很好,画面的清析度基本保持;缺点:对高斯噪声的抑制效果不是很好。最大值滤波可以去除图像中的暗斑,同时也会使亮斑增大(膨胀);最小值滤波可以去除图像中的亮斑,同时也会增大暗斑(腐蚀)。代码import cv2 as cvimport numpy as npi...原创 2019-12-22 14:36:13 · 7006 阅读 · 6 评论 -
HOG特征计算及实现(python)
计算步骤灰度图方式加载图片,假设该图像大小为(128,64)灰度图像gamma 矫正梯度计算利用一个微分Sobel函数,分别计算灰度图像X和Y方向上的梯度图像,根据着两幅图像,计算出梯度幅值图像8×88\times88×8 Cell 梯度直方图每个Cell 为8×88\times88×8,所以,一共有 个Cell(灰度图像的大小为128×64128\times64...原创 2019-12-22 16:11:52 · 7114 阅读 · 1 评论 -
opencv+python 实现均值滤波
opencv+python 实现均值、中值滤波import cv2 as cvimport numpy as npimport mathimport copydef spilt( a ): if a/2 == 0: x1 = x2 = a/2 else: x1 = math.floor( a/2 ) x2 = a - x1...原创 2019-11-05 22:27:10 · 4483 阅读 · 0 评论 -
opencv函数实现均值、中值、高斯、高斯双边滤波
opencv函数实现均值、中值、高斯、高斯双边滤波# encoding:utf-8import cv2 # 读取图片img = cv2.imread(r"E:/tu/11.jpg")result0 = cv2.bilateralFilter(img,30,100,20) # 高斯双边滤波result1 = cv2.blur(img,(5,5)) #均值滤波result2 = c...原创 2019-11-05 22:16:59 · 395 阅读 · 0 评论 -
seamcarving中seam的计算过程
原理给出能量矩阵,计算seam能量矩阵:八联通,第一行值不变,从第二行开始找出能够到达该节点的最小和,采用动态规划,不断计算下一个值,直至最后一行。实例假设能量矩阵如下(深蓝色标记是已经计算的结果),举例:对于第一个图到第二个图,5、8、12都与 2 是联通的,其中最小值为(5+2),故2 更新为 7,依此类推,如下:...原创 2019-12-22 15:13:25 · 914 阅读 · 0 评论