bitxor and Contourlet problem

4 views (last 30 days)
Reza Sedagheh
Reza Sedagheh on 12 Aug 2019
Answered: TARUN on 28 May 2025
Hi Guys,
I read an image and decomposite using Contourlet Transform
in one line I used bitxor function with one of the decomposition coefficent from Contourlet.
but the main problem is bitxor function working with integer but the decomposition image is double.
EIR(m,n) = bitxor(mod(floor(abs(y)*10^15),256),EIRc(m,n));
EIRc(m,n) is double...
could you please help me someone to solve this problem?

Answers (1)

TARUN
TARUN on 28 May 2025
I understand that bitxor" method expects an integer as an argument but EIRc(m,n) returns a double value.
To resolve this, you can convert the double value to uint8 using the uint8 function, which is appropriate if you're working with 8-bit data.
Here’s the updated line of code with the necessary type conversion:
EIR(m, n) = bitxor(uint8(mod(floor(abs(y)*1e15), 256)), uint8(EIRc(m,n)));
You can refer to the documentation for more details on the uint8 function:

Categories

Find more on Matrix Decomposition in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!