zoukankan      html  css  js  c++  java
  • 代码查询

    MATLAB

    mat2gray() 归一化处理

    img_dst=mat2gray(img_src,[mix,max])

    • 将img_src矩阵中位于min-max的值归一化处理[0,1],小于或超出变为0和1

    size() 获取图像尺寸

    [wid,hei]=size(img_src)

    ones() 新建值为1的矩阵

    ones(n) %返回n*n值全为1的矩阵

    zeros() 新建矩阵

    plot=zeros(wid,hei)

    • wid,hei:矩阵尺寸

    rgb2gray() 转换为灰度图像

    img_dst=rgb2gray(img_src)

    imhist() 显示直方图

    imhist(img_src,n)

    • n:灰度等级

    histeq() 直方均衡化

    img_dst=histeq(img_src,n)

    • n:均衡化后灰度等级

    randn() 随机数(标准正态分布(0,1))

    Y=randn(n) %返回一个n*n随机项的矩阵
    Y=randn(m,n) %返回一个m*n随机项的矩阵
    Y=randn(m,n,p...) or Y=randn([m,n,p...]) %返回一个随机数组
    Y=randn(size(A)) %返回一个和A同样维数的随机数组
    Y=randn(1,5);rng(s);Y1=randn(1,5) %会发现Y和Y1的数列是一样的,因为rng(s)是恢复随机数列发生器
    我们知道,高斯分布图顶点坐标(μ,σ),而randn(n)是产生标准正态即(0,1),所以我们想产生一个期望μ=a,方差σ^2=b的随机数,只需要:
    Y=a+sqrt(b)*randn()

    添加噪声imnoise()

    fspecial() 建预定义的滤波算子

    h = fspecial(type)
    h = fspecial('average',hsize) %均值滤波,默认3*3
    h = fspecial('disk',radius)
    h = fspecial('gaussian',hsize,sigma) %高斯低通滤波,hsize默认3*3,sigma标准差默认0.5
    h = fspecial('laplacian',alpha) %拉普拉斯算子,alpha范围[0,1],默认0.2
    h = fspecial('log',hsize,sigma) %拉普拉斯高斯算子,hsize默认3*3,sigma标准差0.5(pix)
    h = fspecial('motion',len,theta) %len运动长度(默认9),theta逆时针角度(默认0)
    h = fspecial('prewitt') %用于边缘增强
    h = fspecial('sobel') %边缘提取

    自适应滤波和估计噪声

    img_dst=wiener2(img_src,[m,n],noise)
    [img_dst,noise]=wiener2(img_src,[m,n])

    • 窗口大小默认3*3

    filter2() 二维(灰度)中值滤波

    img_dst=medfilt2(img_src,[m*n],padopt)

    • m*n:默认3x3,定义区域(包括中心像素)
    • padopt:'zeros':用0填充bianjie;'symmetric':对称扩展;'indexed':若img_src是double则用1填充,否则用0

    imfilter() 滤波

    img_dst=imfilter(img_src,w,method,boundary)

    • w:滤波掩模
    • method:'corr':相关计算(默认);'conv':卷积计算
    • boundary:n:用n填充扩展(默认并设n=0);'replicate':通过复制边界值扩展;'symmetric':通过镜像反射扩展;'circular':将图像看作二位周期函数的一个周期来扩展
    • size:'full':输出与被扩展图像相同大小;'same':输出与输入图像相同大小(默认)

    imwrite() 写入图形文件

    imwrite(A,'filename')

    • A:图形数据
    • filename:文件名,必须指定后缀名
    • 如果 A 属于数据类型 uint8,则 imwrite 输出 8 位值。
    • 如果 A 属于数据类型 uint16 且输出文件格式支持 16 位数据(JPEG、PNG 和 TIFF),则 imwrite 将输出 16 位的值。如果输出文件格式不支持 16 位数据,则 imwrite 返回错误。
    • 如果 A 是灰度图像或者属于数据类型 double 或 single 的 RGB 彩色图像,则 imwrite 假设动态范围是 [0,1],并在将其作为 8 位值写入文件之前自动按 255 缩放数据。如果 A 中的数据是 single,则在将其写入 GIF 或 TIFF 文件之前将 A 转换为 double。
    • 如果 A 属于 logical 数据类型,则 imwrite 会假定数据为二值图像并将数据写入位深度为 1 的文件(如果格式允许)。BMP、PNG 或 TIFF 格式以输入数组形式接受二值图像。
    • 如果 A 包含索引图像数据,则应另外指定 map 输入参数。

    cat() 矩阵合成彩图

    img=cat(n,x_1,x_2...x_n)

    • n:指定后面矩阵个数
    • img:以uint8输出

     


    Python+OpenCV

    均值滤波

    img_dst=cv2.blur(img_src,(5,5))

    • (5,5):内核大小

    高斯滤波

    img_dst=cv2.GaussianBlur(img_src,(5,5),0)

    • (5,5):内核大小
    • 0:x和y方向的方差,不指定则根据内核大小计算,单指定x,则令y=x

    中值模糊

    img_dst=cv2.medianBlur(img_src,5)

    • 5:内核大小

    双边过滤

    img_dst=cv2.bilateralFiter

    • (img_src,9.75,75)
  • 相关阅读:
    centos tar压缩与解压缩命令大全
    Nginx编译安装(Centos)
    Nginx的启动脚本(Centos)
    ffmpeg 音频转换(amr2mp3)
    免费国内外"代码托管服务器"收集
    cocos2dx 字符串拼接
    cocos2dx 3.0 中文 iconv 转换函数
    cocos2dx -- 学习笔记
    游戏设计
    梦想经不起等待 -- 美文转载
  • 原文地址:https://www.cnblogs.com/thgpddl/p/12430488.html
Copyright © 2011-2022 走看看