Image MATLAB如何将一个图像放到另一个图像上?
我有一个形象 我使用fftn函数获得了它的纯相位重建图像 我的目标是Image MATLAB如何将一个图像放到另一个图像上?,image,matlab,image-processing,Image,Matlab,Image Processing,我有一个形象 我使用fftn函数获得了它的纯相位重建图像 我的目标是 使用给定图像的纯相位重建,我将只得到边和线 然后我想在纯相位重建图像中用红色或蓝色来给这些线和边上色 然后,我想把这个“彩色”图像放在原始图像上,这样原始图像的边缘和线条可以分别用红色或蓝色进行高亮度处理 但是当我运行代码时,我得到以下错误 '下标索引必须是实正整数或逻辑数 sagar_图像中的错误(第17行) 叠加(ph)=255;' 那我该怎么办 clc; close all; clear all; img=imrea
clc;
close all;
clear all;
img=imread('D:\baby2.jpg');
figure,imshow(img);
img=rgb2gray(img);
fourier_transform=fftn(img);%take fourier transform of gray scale image
phase=exp(1j*angle(fourier_transform));
phase_only=ifftn(phase);%compute phase only reconstruction
figure,imshow(phase_only,[]);
ph=im2uint8(phase_only);%convert image from double to uint8
superimposing = img;
superimposing(ph) = 255;
figure,
imshow(superimposing,[]),
叠加(ph)=255可能意味着-
1.ph值包含要绘制为白色的叠加指数(255)。
2.ph是一个与叠加大小相同的“逻辑”图像,在ph中计算为“真”的每个像素在叠加时都会被涂成白色
你的意思可能是:
threshold = 0.2;
superimposing(real(phase_only) > threshold) = 255;
如果要融合这两幅图像并在另一幅图像上看到它们,请使用imfuse:
imshow(imfuse(real(phase_only), img, 'blend'))
叠加(ph)=255可能意味着-
1.ph值包含要绘制为白色的叠加指数(255)。
2.ph是一个与叠加大小相同的“逻辑”图像,在ph中计算为“真”的每个像素在叠加时都会被涂成白色
你的意思可能是:
threshold = 0.2;
superimposing(real(phase_only) > threshold) = 255;
如果要融合这两幅图像并在另一幅图像上看到它们,请使用imfuse:
imshow(imfuse(real(phase_only), img, 'blend'))
先生,仅相位重建图像仅包含线条和边缘。因此,通过将此图像叠加到婴儿的原始图像上,我可以在原始图像中标记(下划线)边缘和线条。但我使用阈值图像无法获得这样的结果,仅相位重建图像仅包含线条和边缘。因此,通过将此图像叠加到婴儿的原始图像上,我可以在原始图像中标记(下划线)边缘和线条。但我使用thresholdingsir无法获得这样的结果,仅相位重建图像仅包含线条和边缘。因此,通过将此图像叠加到婴儿的原始图像上,我可以在原始图像中标记(下划线)边缘和线条。但是,使用阈值处理无法获得这样的结果