如何创建图像叠加层?改变边缘颜色
How create image overlays? change edges color
如何创建图像叠加层?改变边缘颜色:
为了将边缘更改为绿色,起初我使用 'sobel' 但是叠加部分有一个错误:"IMG must be an array of either grayscale or RGB images: writeVideo(writer,double(out));" 为什么?
out_red(BW)=0;
out_green(BW)=255;
out_blue(BW)=0;
writeVideo(writer,double(uint8(out)));
close(writer);
尝试以下操作:
redChannel = inputImage(:, :, 1);
greenChannel = inputImage(:, :, 2);
blueChannel = inputImage(:, :, 3);
writeVideo(writer, uint8(out));
如果范围为 {0, 1, 2, ..., 255},writeVideo
class 期望数据为 uint8
。
如果您想使用 single
或 double
数据,您需要将其缩小到 [0, 1] 范围。
你错误地将整个img设置为每个颜色通道,应该是这样的:
out_red=img(:,:,1);
out_green=img(:,:,2);
out_blue=img(:,:,3);
最后做writeVideo(writer, uint8(out));
如何创建图像叠加层?改变边缘颜色: 为了将边缘更改为绿色,起初我使用 'sobel' 但是叠加部分有一个错误:"IMG must be an array of either grayscale or RGB images: writeVideo(writer,double(out));" 为什么?
out_red(BW)=0;
out_green(BW)=255;
out_blue(BW)=0;
writeVideo(writer,double(uint8(out)));
close(writer);
尝试以下操作:
redChannel = inputImage(:, :, 1);
greenChannel = inputImage(:, :, 2);
blueChannel = inputImage(:, :, 3);
writeVideo(writer, uint8(out));
如果范围为 {0, 1, 2, ..., 255},writeVideo
class 期望数据为 uint8
。
如果您想使用 single
或 double
数据,您需要将其缩小到 [0, 1] 范围。
你错误地将整个img设置为每个颜色通道,应该是这样的:
out_red=img(:,:,1);
out_green=img(:,:,2);
out_blue=img(:,:,3);
最后做writeVideo(writer, uint8(out));