繁体   English   中英

Matlab中的矩阵和图像有什么区别?

[英]What is the difference between a matrix and image in Matlab?

我可以将.png图像另存为pic = imread(image_name) ,并将其视为包含大小的矩阵,以便检索[nrows, ncols, ~] = size(pic) 然后,我可以使用imshow(pic)轻松显示此图像。

但是,如果我用test = zeros(nrows, ncols, 3)创建自己的矩阵,然后尝试用test(:, :, :) = pic复制图像,然后尝试使用imshow(test)它将无法正常工作。 我可以逐个比较testpic元素,它们是相同的,但是我不能将两者相减,否则会收到错误消息

Error using  - 
Integers can only be combined with integers of the same class, or scalar doubles.

如何创建矩阵并为图像分配像素,仍然将矩阵视为图像? 我尝试执行此操作的原因是我有很多图片要合并为一张较大的图片,因此我需要事先创建一个大矩阵,然后将每个单独图像中的像素复制到较大的矩阵中,但是此较大的矩阵当我使用imshowimwrite时,不再被视为图像。

错误告诉您错过的事情。 重要的是变量的class 图像具有某种类类型(uint8,uint16 ...),这是matlab中的通用矩阵,除非另有说明为double 尝试定义

 test = zeros(size(pic),class(pic));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM