How to merge two images one over another?
1 view (last 30 days)
Show older comments
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/191643/image.png)
Note
1 both are RGB's
2 black area iscompletely black i.e., RGB value is 0
Right now I am doing this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/191644/image.png)
But I am not satisfied with performance, in terms of time it is taking.
Can there be more efficient way?
2 Comments
Accepted Answer
OCDER
on 3 Jul 2018
I don't think you can go any faster at this point, unless zoom_image is a double. If so, then you can do
zoom_image = zoom_image.*(~mask) + imblank.*mask; % ~17% faster
When you reached the end of the code-based optimization, try parallel or GPU computing, or MEX/C++ to achieve faster speeds. I'm guessing GPU computing is the way to go since GPU is designed for image processing.
2 Comments
OCDER
on 3 Jul 2018
Ah, that took me a while to get used to and I'm still learning tricks. The general idea is to make a "gateway" function that links matlab to C++. I started with this tutorial and looked at the example codes that matlab has.
It's a good investment as some of my codes have been sped up > 10 times, and GPU uses C language. When you get stuck on mex, ask us at the forum. The mvp's have more experience with mex coding.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!