MATLAB中figure背景为黑,但保存出的图片背景却为白

在MATLAB中,作者尝试将figure背景设为黑色以制作视频,但发现保存的jpg图片背景仍为白色。通过尝试多种方法,如更改输出格式、设置图像复制模板和axes颜色,最后通过在figure的导出设置中调整渲染颜色成功解决问题。现在回顾,作者认为使用Python进行图片合成视频可能更优,但当时仅熟悉C语言,并提供了C实现的opencv代码片段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

最近需要做一段视频来展示算法的迭代过程,思路是将Matlab代码迭代过程中的结果保存为figure格式并输出为jpg图像,再用C++代码将图片合成为视频。

问题

为了做出炫酷的效果,希望图片背景是黑色的。尽管已经将figure的背景设置为黑色,但保存出的jpg图片背景依然为白色。

解决方案

搜索到的方法如下,最后一个方案成功了:

  • 输出图像格式改为PNG(有点扯了);
  • 在figure窗口中,文件 -> 预设 -> 图像复制模板 -> 复制选项 -> 图形背景颜色 -> 使用图形颜色;
  • 设置axes的颜色为黑 -> set(gca,‘color’,‘k’);
  • 在figure窗口中,文件 -> 导出设置 -> 渲染 -> 自定义颜色 -> k -> 应用于图形(只需设置一次)。

现在看来用python来将图片合成为视频是更好的选择,但是三年前只会C。

附上用C实现的图片合成视频代码(需要安装opencv):

#include<opencv2/opencv.hpp>
#include<iostream>

using namespace std;
using namespace cv;

void pic2video(int m);
//核心函数 VideoWriter
int main(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值