Effacer les filtres
Effacer les filtres

How to merge two images one over another?

1 vue (au cours des 30 derniers jours)
JAI PRAKASH
JAI PRAKASH le 3 Juil 2018
Commenté : OCDER le 3 Juil 2018
Note
1 both are RGB's
2 black area iscompletely black i.e., RGB value is 0
Right now I am doing this:
But I am not satisfied with performance, in terms of time it is taking.
Can there be more efficient way?
  2 commentaires
Adam
Adam le 3 Juil 2018
im_blank > 0
is going to produce a 3-element vector on an RGB image.
JAI PRAKASH
JAI PRAKASH le 3 Juil 2018
Yes, you are right.
My approach is accurate, but consumes more time.

Connectez-vous pour commenter.

Réponse acceptée

OCDER
OCDER le 3 Juil 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 commentaires
JAI PRAKASH
JAI PRAKASH le 3 Juil 2018
Hey OCDER
Thanx
Can u guide me how to speed up using me c++. Not exactly on above problem but generally how to use mex c++ to speed up calculation.
OCDER
OCDER le 3 Juil 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by