0

我尝试使用此代码将 svg 图像修改为 png

    filename = 'hello';
    inkscapepath = '"my inkscape path"';
    system( [inkscapepath ' ' filename ...
             '.svg --export-area-drawing --export-png=' filename '.png'])

它将创建一个 hello.png 文件。如果我用 windows 图片查看器打开它,它看起来很好。存在相同的内容。svg 图像为 png 格式,但分辨率从 100x100px 更改为 60x8。

但要在 MATLAB 中查看它,如果使用

    imshow('hello.png')

全黑图像作为输出图形出现。图像矩阵包含所有等于 0 的条目

4

1 回答 1

2

这个答案是基于一个猜测,该文件仅包含透明背景上的黑色图像,
例如这个:

原始图像 -它在剧透中以显示透明度

使用imshowMatlab 将透明像素替换为黑色,为避免这种情况,我们可以使用imread加载图像的附加选项将透明像素设置为白色,然后使用imshow

 RGB = imread('hello.png', 'BackgroundColor', [1,1,1] );
 imshow(RGB);

图从传递文件名到imshow

黑色背景

图从设置透明像素为白色

在此处输入图像描述

于 2014-09-11T12:40:13.457 回答