MATLAB报错文件无法写入目录

错误使用 imwrite (line 474)
无法打开要写入的文件 "D:\paper\4dehaze_remotesensing\dataset\DOTA\test\images\images_foggy\P0006.png"。您可能没有写入权限。

出错 AddFog (line 22)
            imwrite(Iw, strcat(out_path,image_name))

路径不对

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MATLAB中的imwrite函数也可以用于将图像写入文件。与OpenCV的IMWRITE函数类似,imwrite函数支持多种图像格式,包括TIFF格式。在MATLAB中,如果您尝试使用imwrite函数将20位图像写入TIFF文件,也会收到与OpenCV中IMWRITE函数类似的错误消息:IMWRITE does not support writing TIFF files with 20 samples per pixel. 要解决此问题,您可以考虑使用其他图像格式,例如PNG、JPEG或BMP等。如果您必须使用TIFF格式,则可以将20位图像拆分为两个16位图像,并将它们保存为多页TIFF文件。这可以通过以下步骤完成: 1. 将20位图像划分为两个16位图像。您可以使用MATLAB的bitand和bitshift函数执行此操作。 2. 将两个16位图像保存为多页TIFF文件。您可以使用MATLAB的imwrite函数,并通过指定“WriteMode”参数为“append”将两个图像添加到同一文件中。 以下是示例代码,用于将一个20位图像保存为多页TIFF文件: ```matlab % 读取20位图像 img = imread('20bit.tif'); % 划分为两个16位图像 img1 = bitand(img, 65535); % 保留低16位 img2 = bitshift(img, -16); % 右移16位,保留高4位 % 将两个16位图像保存为多页TIFF文件 imwrite(img1, '20bit.tif', 'WriteMode', 'overwrite'); imwrite(img2, '20bit.tif', 'WriteMode', 'append'); ``` 这将生成一个名为“20bit.tif”的多页TIFF文件,其中第一页是低16位图像,第二页是高4位图像。您可以使用MATLAB的imread函数读取多页TIFF文件,并使用bitand和bitor函数将两个16位图像合并为一个20位图像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wanderer001

ROIAlign原理

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值