maltab数字图像处理:编码和解码-笔记

news/2024/7/21 5:19:34 标签: 计算机视觉, opencv, 图像处理

怎么把一张图片藏在另一张图片里面,并且看不出痕迹,然后成功地解出来

编码encode
两张图片合成一张
解码decode
一张图片拆解成两张

编码encode

%%读取图像
img1=imread('monalisa.png')
%%图像灰度化
img1=rgb2gray(img1)
%%img1解码
img1=idivide(img1 , 10) * 10;%%把灰度值个位上的数字减掉

%%
%%读取图像
img2=imread('cat.png')
%%图像灰度化
img2=rgb2gray(img2)
%%重分类
[h,w]=size(img1)%%把img2的大小改成和img1一样大
img2=imresize(img2, [h,w])
%%解码
img2=img2*(9/255);%把img2的灰度值压缩成0~9,再加到img1的照片中

%%
%两张图像融合
final_img=img1+img2
imtool(final_img)
%%保存图片
imwrite(final_img,'output.png');

处理过程
在这里插入图片描述
在这里插入图片描述
结果
在这里插入图片描述

解码decode

% 读取图片
image=imread('output.png');
% 给img1解码
img1=idivide(image, 10) * 10;
% 给img2解码
img2=image-img1;
img2=img2*(255/9);
%展示图片
imtool(img1)
imtool(img2)


视频来源
https://www.bilibili.com/video/BV13t4y1i7ky?spm_id_from=333.999.0.0


http://www.niftyadmin.cn/n/1783180.html

相关文章

Qt--画图

//头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget(); protected:void paintEvent(QPaintEv…

ETW写事件基础步骤

一.调用EventRegister注册一个REGHANDLE DWORD status ERROR_SUCCESS; REGHANDLE RegistrationHandle NULL; status EventRegister(&ProviderGuid, // GUID that identifies the providerNULL, // Callback not usedNULL, // Context…

Java类和接口的关系

类和类的关系 继承关系&#xff0c;只能单继承&#xff0c;但可以多层继承 类和接口的关系 实现关系&#xff0c;可以单实现&#xff0c;也可以多实现&#xff0c;还可以在继承一个类的同时实现多个接口 //InterImpl实现三个接口&#xff0c;并继承一个基类Object public clas…

初学GTK+2.0与glade的一些网络资源

1.GTK官方 http://www.gtk.org/download/index.php 2.codeblock10.05设置gtk开发环境&#xff1a;http://www.th7.cn/Program/c/201211/113170.shtml (文中提到的编译选项&#xff0c;在调试环境下不要使用 -mwindows) 3.GTK and Glade3 GUI Programming Tutorial--中文系列 h…

Qt--滑动组件显示组件

//头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();private slots:void on_btnTo_2_16_cl…

java类名作为形参和返回值

1、方法的形参是类名&#xff0c;其实是需要该类的对象 2、方法的返回值是类名&#xff0c;其实是需要返回该类的对象 代码示例 猫类 public class Cat {public void eat() {System.out.println("猫吃鱼");} }操作类 public class CatOperate {public void useCat…

利用C#重启远程计算机

如果叫你实现远程启动别人的计算机&#xff0c;你首先想到的可能是先做一个在远程计算机上面运行客户端程序&#xff0c;然后在本地计算机上面再做一个服务器端程序&#xff0c;通过这二个程序直接的通讯实现重启远程计算机。这当然是一个方法。但这未免有点麻烦。如果现在只告…

半天打造小型万能OA办公系统, 靠的就是万能表单提交 + 轻量级工作流审批组件...

有时候我们会遇到这样的需求,公司不大,但是信息化程度也蛮高,公司的员工素质也很高,管理也很规范,甚至还有外地分公司,直接上一个OA系统吧,往往也无法符合公司的灵活管理需求, 往往受制于商品化OA的功能限制,商业限制. 直接定制一个OA系统也不大愿意承受几十万的开发费用,同时也…