matlab将0 1矩阵显示为黑白图像

news2024/10/7 2:25:50

解决方法

clear 
clc
pattern = cell2mat(struct2cell(load("pattern")));
pic1 = squeeze(pattern(1:64,:,:,:));
pic1 = logical(permute(pic1, [2,3,1]));
temp = pic1(:,:,1);
imshow(pic1(:,:,1));

显示效果

test = int8(rand(30,30));
imshow(logical(test));

本来想随机生成的,但可能看起来有点像二维码,图像违规了
手动拼了一个矩阵

test = [zeros(1,30);ones(1,30);zeros(1,30);ones(1,30);zeros(1,30);ones(1,30);
    zeros(1,30);ones(1,30);zeros(1,30);ones(1,30);zeros(1,30);ones(1,30);
    zeros(1,30);ones(1,30);zeros(1,30);ones(1,30);zeros(1,30);ones(1,30);
    zeros(1,30);ones(1,30);zeros(1,30);ones(1,30);zeros(1,30);ones(1,30);
    zeros(1,30);ones(1,30);zeros(1,30);ones(1,30);zeros(1,30);ones(1,30)];
imshow(logical(test));

在这里插入图片描述

重点

imshow()接收逻辑类型的数据,然后才能显示二值图
在这里插入图片描述
imshow函数的官方解释
我打开之后单步运行才意识到这点/(ㄒoㄒ)/~~
但通常情况下我们的0 1矩阵都是int型的,所以imshow可能会按照灰度图来显示,而且是全灰,啥也看不到

代码解释

load("pattern")

加载mat文件(这里真的好想吐槽matlab加载文件好麻烦,load完了是结构体,还不能直接用)

struct2cell()

结构体转元胞

cell2mat()

元胞转矩阵

pic1 = squeeze(pattern);

删除长度为1的维度

permute(pic1, [2,3,1])

交换维度

logical()

int转logical,logical数据类型是—种只有两个可能值的数据类型。

呜呜呜,最近老是吵架😔

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

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

相关文章

CANoe运行时改变系统变量的值的几种方式

在CANoe运行时,想要随时改变系统变量的值为任意值,怎么办?(这里的值指的是数值) 我们在CANoe工程上创建一个系统变量: 改变系统变量的值,我们第一时间想到的是在CAPL中用代码实现: on key a {@sysvar::ControlPanel::EngineSpeed = 10; }通过一个按键’a’的事件程序…

前端选择时间范围关联日期快速查询

效果图 html部分 <div class"select-list"><ul><li><label>时间&#xff1a;</label><select id"timeInterval"><option value"1">自定义</option><option value"2">当天<…

手机切换ip地址会遇的问题以及解决方法汇总

手机切换IP地址是一种常见的操作&#xff0c;它可以帮助用户解决一些网络问题&#xff0c;提高网络连接速度&#xff0c;或者绕过某些限制。然而&#xff0c;在进行IP地址切换时&#xff0c;用户可能会遇到一些问题。本文将详细介绍手机切换IP地址可能遇到的问题&#xff0c;并…

一、rocketmq整体架构及nameServer源码分析

RocketMQ源码深入剖析 1 RocketMQ介绍 RocketMQ 是阿里巴巴集团基于高可用分布式集群技术&#xff0c;自主研发的云正式商用的专业消息中间件&#xff0c;既可为分布式应用系统提供异步解耦和削峰填谷的能力&#xff0c;同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠…

前端Vue仿美团地址管理列表组件

随着技术的发展&#xff0c;开发的复杂度也越来越高&#xff0c;传统开发方式将一个系统做成了整块应用&#xff0c;经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改&#xff0c;造成牵一发而动全身。 通过组件化开发&#xff0c;可以有效实现…

将Xvfb和Chrome封装到Docker镜像中并执行java程序

docker pull ubuntu:22.04docker run -itd --net host -v /home/:/home ubuntu:22.04 进入容器 docker exec -it 8203e24ed bash apt-get update apt-get install xvfb apt-get install chromium-browser apt install chromium-chromedriver apt install openjdk-11-jdk …

webpack打包

webpack打包 1、webpack再次打包2、webpack的入口和出口 1、webpack再次打包 背景&#xff1a;代码增加之后&#xff0c;如何打包呢&#xff1f; 1、确保在src/index.js引用和使用 2、重新执行yarn build打包命令 2、webpack的入口和出口 1、新建webpack.config.js配置文件 …

五、Spring 注解开发

文章目录 一、使用注解开发的环境准备二、Spring 框架核心注解学习2.1 Component2.1.1 通过注解来控制 Bean 的作用域&#xff08;Scope&#xff09; 2.2 Component 的派生注解&#xff08;对应这 web 开发的三层架构分层&#xff09;2.2.1 Repositor2.2.2 Service2.2.3 Contro…

6.2.6 网络基本服务----电子邮件系统(E-mail)

6.2.6 网络基本服务----电子邮件系统&#xff08;E-mail&#xff09; 电子邮件系统是因特网上使用的最多且最受用户欢迎的一种应用 电子邮件系统包括用户代理和邮件服务器&#xff0c;提供收发邮件、邮件传送服务&#xff0c;邮件被传送到收信人邮件服务器的收信人信箱中&…

这所C9考数二英二!但409分被刷,387分直接放弃复试!

一、学校及专业介绍 西安交通大学简称“西安交大”&#xff0c;位于陕西省西安市&#xff0c;是中华人民共和国教育部直属的综合性研究型全国重点大学&#xff0c;由教育部、陕西省与国家国防科技工业局共建&#xff0c;国家“双一流”建设高校&#xff0c;首批进入国家“211工…

Sentionel流控授权规则

很多时候&#xff0c;我们需要根据调用来源来判断该次请求是否允许放行&#xff0c;这时候可以使用 Sentinel 的来源访问控制的功能。来源访问控制根据资源的请求来源&#xff08;origin&#xff09;限制资源是否通过&#xff1a; 若配置白名单&#xff0c;则只有请求来源位于…

ELK日志记录——Kibana组件——grok 正则捕获插件、mutate数据修改插件、multiline 多行合并插件、date 时间处理插件

grok 正则捕获插件 grok 使用文本片段切分的方式来切分日志事件 内置正则表达式调用 %{SYNTAX:SEMANTIC} ●SYNTAX代表匹配值的类型&#xff0c;例如&#xff0c;0.11可以NUMBER类型所匹配&#xff0c;10.222.22.25可以使用IP匹配。 ●SEMANTIC表示存储该值的一个变量声明&…

Java 查找二叉树中某一结点的前驱结点以及后继结点

文章目录 前言什么是后继结点什么是前驱结点 代码实现查找某一结点的后继结点思路代码实现图解 查找某一结点的前驱结点思路代码实现图解 测试用例运行结果 结语 前言 给定二叉树结点定义Node结构如下&#xff0c;其中parent结点指向当前Node结点的父结点,根结点指向null&…

c++ 资源文件打包exe 写出指定目录

#include <iostream> #include <fstream> #include <Windows.h>int main() {// 加载资源HMODULE hModule GetModuleHandle(NULL);// HRSRC hResource FindResource(hModule, MAKEINTRESOURCE(IDR_MYSYS), RT_RCDATA);// IMAGE 是添加资源文件时起的名字HRS…

BOSHIDA DC电源模块过载保护的原理

BOSHIDA DC电源模块过载保护的原理 DC电源模块过载保护的原理是通过电路设计和控制算法来实现的&#xff0c;其基本思想是在系统发生过载时&#xff0c;通过控制电路的工作状态和输出特性&#xff0c;实现对输出电流的限制和保护。 具体来说&#xff0c;DC电源模块的过载保护主…

智慧城市建设与数字孪生技术的紧密关联

智慧城市是当今社会发展的趋势&#xff0c;它通过智能技术和数字化手段&#xff0c;实现城市各个领域的高效运行和可持续发展。而数字孪生技术作为智慧城市建设的重要支撑&#xff0c;正在发挥着重要的作用。 首先&#xff0c;数字孪生技术在城市规划和设计方面发挥着重要作用…

【C语言】4-C语言的数据表现形式之数据类型

0. 引言 在之前的例子中可以看到&#xff0c;在定义变量时需要指定变量的类型。C 语言要求在定义所有的变量与常量时都要指定变量的类型 为什么在用计算机运算时要指定数据的类型呢&#xff1f;在数学中&#xff0c;数值是不分类型的&#xff0c;数值的运算是绝对准确的&#…

重塑未来的1课:组装式交付新引擎——华为云智能化低代码平台

HDC期间可参与Astro注册抽奖&#xff0c;活动详情见文末&#xff01; 紧跟低代码技术飞速发展——华为云Astro智能工作流惊艳HDC.Cloud 2023&#xff01; 企业对未来智能化组装式交付的期待已不是空想。智能化低代码即将重新定义传统交付模式&#xff0c;密切连接AI科技与创造…

ue4 MRQ渲染器时,媒体纹理播放速度会被加快

问题描述&#xff1a;当MRQ渲染器开启抗锯齿时&#xff0c;媒体纹理的播放速度会被加快 解决办法&#xff1a;通过执行抗锯齿控制台命令来解决

手写文字识别为何这么难?怎么应对?

手写文字识别是一项极具挑战性的任务&#xff0c;它之所以比识别印刷体文字难&#xff0c;笔者认为&#xff0c;主要原因在于以下几个方面&#xff1a; 首先&#xff0c;手写文字样式的多样性是识别难度的主要来源。我们知道&#xff0c;签名具有法律效力&#xff0c;为什么呢…