RGB图片像素点随机化——Matlab实现

在分析照片各个区域的色度、亮度平均值时,为了使每行/每列/整体的像素点特征分布均匀以加快分析速度、减小误差时,这时候就要对像素点进行随机化操作,也就是洗牌。

用Matlab来完成此任务再合适不过了。对于RGB类型的彩色图片,它在Matlab中本质上是个三维矩阵,这个三维数组有三个面,依次对应于红(Red)、绿(Green)、蓝(Blue)三种颜色,而面中的数据则分别是这三种颜色的强度值,面中的元素对应于图像中的像素点。设所得矩阵为X三维矩阵(height,width,3) ,X(:,:,1)代表红色的二维矩阵 X(:,:,2)代表绿色的二维矩阵, X(:,:,3)代表蓝色的二维矩阵。

那么这里用到两个Matlab内置函数:一个是randperm(x),产生1~x的随机序列并作为行向量,输入原图像中要进行转置操作才可以;另一个是size(a,n),n=1时求矩阵a的行数,n=2时求矩阵a的列数。下面直接上代码:

clc; % 
close all;
[a,b] = uigetfile({'*.jpg';'*.png'},'Please select an image'); % open file choice dialogif ~(a == 0)img = imread(strcat(b,a));img0(1:size(img,1),1:size(img,2),:)=img(randperm(size(img,1))',randperm(size(img,2))',:); % shuffle bothimg1(:,1:size(img,2),:)=img(:,randperm(size(img,2))',:); % shuffle columnsimg2(1:size(img,1),:,:)=img(randperm(size(img,1))',:,:); % shuffle linesimwrite(img0, strcat('0_', a));imwrite(img1, strcat('1_', a));imwrite(img2, strcat('2_', a));
end

其中img0是行、列都随机化(如下图右上角所示),img1只随机化列(如下图左下角所示),img2只随机化行(如下图右下角所示),效果如下:

当然缺点也很明显, 处理分辨率过高的图片时工作区内存会不足,而且对于索引等类型的图片需要转为RGB以后才能使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/142906.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Matlab2018a安装教程

Matlab2018a 安装教程 1. 安装之旅 第一步:下载好压缩包后,对压缩包进行解压,由于文件比较大,需要花费一些时间。 第二步:打开解压后的文件,找到 setup,右击以管理员身份运行,稍后…

Matlab R2020b安装

matlab2020b安装 一,下载 百度网盘 链接:https://pan.baidu.com/s/18iLFaAbWt8IntUefX3eWfA 提取码:p6in 如果下载很慢的话应该是没开p2p加速(最近度盘良心发现加了个p2p下载) 开启方法: 打开设置 开启提速模式 开启后会提供…

Matlab2018破解方法

原文:http://www.zhanshaoyi.com/6938.html 软件下载: Matlab R2018a_64位中文破解版:【点击下载】 安装前须知: 1.安装全程须断开电脑网络,否则安装不成功; Matlab 2018a的安装包必须使用虚拟光驱加载&…

MATLAB模拟QKD,基于STK和MATLAB的星地量子密钥分发仿真系统的制作方法

本发明属于量子信息处理技术领域,涉及一种基于stk和matlab的星地量子密钥分发仿真系统。 背景技术: 目前,自由空间量子密钥分发的研究仍局限于在星地平台的实验探索,相比于信道状态相对稳定的光纤量子密钥分发系统,自由空间量子密钥分发信道动态开放,并且缺乏有效的主动监…

基于MATLAB的混沌数字图像加密技术研究与仿真实现

摘 要 近年来,图像数据信息的安全性逐渐受到人们的关注,为了保证图像的可靠传输,混沌系统被引入图像加密技术。本文主要研究了两种基于混沌系统的图像加密方案。第一种方案是基于超混沌系统和 DNA 编解码运算相结合的图像加密算法&#xff0c…

MATLAB 2018a安装

matlab2018a的安装 matlab的各个版本的安装过程都是大同小异,安装过程中都需要断网。 第一步:如下所示,双击.iOS文件 第二步:以管理员的身份运行setup 第三步:选择使用文件安装密钥,之后点击下一步 第四…

archlinux 安装matlab

最近在学matlab使用的是windows版本的,比起windows我更喜欢在linux中写代码。于是乎就想在Linux中安装一下。 主要过程参考此篇文章: 《【首发】 ubuntu20.04安装matlab2021b/matlab2020b》 https://blog.csdn.net/hanjuefu5827/article/details/1151677…

2019matlab安装

本文转载自Matlab R2019a Win64位 迅雷下载链接_Yohaoa-CSDN博客_matlab迅雷下载 和MATLAB 2019a安装教程和破解方法(附Crack文件) | 我爱分享网 1.下载安装包18G,迅雷磁力链: magnet:?xturn:btih:733DFBA6CCC23DB9FFD6287C169A15664897E78D 2.在打开…

matlab更改安全密钥,Linux下设置安全密钥登录

步骤: 1、本地生成密钥(公钥和私钥): (1) 本地是 Windows 系统: 打开 XShell ,选择 Tool >> New User Key Wizard 密钥长度可以是1024或2048,导出公钥,假设文件名为: Ubuntu_59_rsa_2048.…

Matlab R2014b安装教程

1,下载Matlab R2014b ISO格式安装包 2,用虚拟光驱加载下载的ISO格式安装包 3,双击setup,开始安装,选择不联网安装,许可证安装密钥为11111111111111111111 4,选择安装位置,这里…

微信公众号网页授权步骤过程

微信公众号网页授权 准备工作网页授权 准备工作 登录微信公众平台,启用“服务器配置”并添加相关配置 (1)代码中加入token校验的验证,这时可正确配置服务器,如下图: 其中url和token值要相对应。 GetMappi…

Django+微信公众号开发小项目

最近搞了点事情,因为web.py对微信公众号开发时不方便扩展和复用,使用Django开发微信公众号。使用celery推送模板消息到用户微信上,最终方便以后重复利用和功能增加。 01 准备 python3环境 微信公众号 可用域名 Mysql数据库 redis数据库 …

微信公众号开发流程

1、首先注册微信公众号,要根据实际需求考虑清楚应该申请哪一种公众号 以下是官方给出的建议,大家可以多参考参考 1)如果想简单的发送消息,达到宣传效果,建议可选择订阅号; 2)如果想用公众号获得…

微信公众号程序开发接入流程

文章目录 文章简介微信公众号程序介绍传统H5网页,无需微信支持建立在微信支持下开发的微信公众号程序第一步第二步 文章简介 公司常有微信公众号程序开发的项目,每次接入微信时都要四处查找以前的代码,百度接入微信公众号的流程。浪费大量时间…

微信公众号白名单配置

微信公众号白名单配置 微信公众号升级之后,在获取access_token的时候需要配置IP白名单,如下图: 那么这个白名单是干什么的呢?微信给的解释是:为了提高公众平台开发者接口调用的安全性,避免一旦开发者ID和密…

uni-app开发微信公众号

一、公众号JSSDK使用 【1】验证后端返回的签名是否正确 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tjsapisign (1)jsapi_ticket获取方法:(注意把本地IP放入白名单) 1) https://api.weixin.qq.com…

微信公众号--发送模板消息

目录 一、登录微信公众平台二、开通模板消息三、增加及选择模板四、在项目中配置使用五、遇见的问题 一、登录微信公众平台 1、搜索微信公众平台 2、扫码登录后即可跳转 二、开通模板消息 1、在左侧菜单栏找到模板消息 若找不到则点击新的功能 2、点击新的功能后&#x…

SpringBoot微信公众号开发

SpringBoot微信公众号开发 环境准备 微信测试公众号申请 访问https://weixin.qq.com/,点击公众号,申请一个订阅号(个人能申请订阅号,服务号只有企业才能申请)。 公众号填写服务器配置 注意:服务器提交需要…

微信公众号接入开发

目录 前言: 一、公众号中配置 1、获取AppID、AppSecret: 2、配置IP白名单: 问题: 解决: 3、配置JS接口安全域名: 重要:认真阅读系统提示的注意事项: 问题: 解决…

电子科技大学编译原理复习笔记(三):控制结构

目录 前言 重点一览 语句级控制结构 单元级控制结构 四种单元级控制结构 本章小结 前言 本复习笔记基于张老师的课堂PPT,供自己期末复习与学弟学妹参考用。 重点一览 语句级控制结构 定义:用来构造各种语句执行顺序的机制 传统三种语句级控制结…