Getting error: OpenCV(3.4.3) /io/opencv/modules/imgproc/src/color.hpp:257 error

asked 2019-10-21 01:42:26 -0600

Sandeep Kumar gravatar image

updated 2019-10-21 02:30:20 -0600

berak gravatar image

Hi, I tried to find the LBP on Hyperspectral Image after computing first 3 Principal Component Analysis. I am getting the following error.

error Traceback (most recent call last)
in ()
1 img_bgr=pcdata
----> 2 img_gray = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2GRAY)

error: OpenCV(3.4.3) /io/opencv/modules/imgproc/src/color.hpp:257: error: (-2:Unspecified error) in function 'cv::CvtHelper<VScn, VDcn, VDepth, sizePolicy>::CvtHelper(cv::InputArray, cv::OutputArray, int) [with VScn = cv::Set<3, 4>; VDcn = cv::Set<1>; VDepth = cv::Set<0, 2, 5>; cv::SizePolicy sizePolicy = (cv::SizePolicy)2u; cv::InputArray = const cv::_InputArray&; cv::OutputArray = const cv::_OutputArray&]'

Unsupported depth of input image:
'VDepth::contains(depth)'

where

'depth' is 6 (CV_64F)
edit retag flag offensive close merge delete

Comments

1

1 img_bgr=pcdata ----> 2 img_gray = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2GRAY)

this does not make any sense to me. why is it there ?

berak gravatar imageberak ( 2019-10-21 02:24:35 -0600 )edit
1

after computing first 3 Principal Component Analysis

we probably need to see, what your pcadata is, and how it got derived.

at least, there's no PCA here

berak gravatar imageberak ( 2019-10-21 02:25:36 -0600 )edit
1

I tried the LBP code in Google colab. I applied it to Hyperspectral image which is of dimension 145x145x200. I reduced it to 3 principal component bands by applying PCA resulting in dimension 145x145x3 and stored it in pcdata numpy array. This is given below.

hsi_data=sio.loadmat("Indian_pines_corrected.mat")['indian_pines_corrected']
pc = principal_components(hsi_data)
pcdata = pc.reduce(num=3).transform(hsi_data)

Copy lbp.py from https://github.com/arsho/local_binary... In img_gray = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2GRAY) line of main function I am getting the error.

Sandeep Kumar gravatar imageSandeep Kumar ( 2019-10-21 05:54:56 -0600 )edit
Sandeep Kumar gravatar imageSandeep Kumar ( 2019-10-21 06:01:51 -0600 )edit
1

could you try to update your question with the code, so it is in context, and maybe we can try to reproduce it ?

also, please try to print out shapes / types after relevant operations

berak gravatar imageberak ( 2019-10-21 06:11:30 -0600 )edit

Comment box is not sufficient for pasting the code. How can I share the code in .ipynb format to you. I am new to this forum.

Sandeep Kumar gravatar imageSandeep Kumar ( 2019-10-21 20:38:44 -0600 )edit
1

no, unfortunately you cannot share an .ipynb here, theres nothing to run it.

berak gravatar imageberak ( 2019-10-22 00:50:57 -0600 )edit

cvtColor(img_bgr,COLOR_BGR2GRAY);

with latest master you get the correct information:

> Unsupported depth of input image:
>     'VDepth::contains(depth)'
> where
>     'depth' is 6 (CV_64F)

i also doubt, that this is the correct way to apply LBP to your 3 component pca output.

berak gravatar imageberak ( 2019-10-22 01:26:55 -0600 )edit
1

Please find the code in this link. https://colab.research.google.com/dri...

Sandeep Kumar gravatar imageSandeep Kumar ( 2019-10-22 12:08:14 -0600 )edit

Hi berak, I am not getting any error and able to execute by modifying the code as below

img_bgr=pcdata.astype(dtype=np.uint8)
height, width, channel = img_bgr.shape
img_gray = cv2.cvtColor(img_bgr,cv2.COLOR_BGR2GRAY)

But how far the use of unsigned int is correct in PCA result I don't know. Can you check this.

Sandeep Kumar gravatar imageSandeep Kumar ( 2019-10-22 20:40:05 -0600 )edit

COLOR_BGR2GRAY "mixes" your 3 channels into one like Y = 0.17*B + 0.6*R + 0.2*R . and if you have to to uint8 -- noooo.

probably not what you want or need here. why even 3 PCA channels ?

berak gravatar imageberak ( 2019-10-23 01:22:47 -0600 )edit

Hi Berak. Can you please go through the code given in the GitHub link text for colour image. Please suggest an appropriate opencv code for applying LBP on hyperspectral image.

Sandeep Kumar gravatar imageSandeep Kumar ( 2019-10-23 22:58:06 -0600 )edit