¿Por qué fastNlMeansDenoisingColored () de openCV está dando error?

Soy un novato enopenCV concepto, así que discúlpeme si mi pregunta es tonta. En realidad estoy tratando de aplicar laPhoto.fastNlMeansDenoisingColored() pero no entiendo por qué está dando ese error.

Código

Mat tmp = new Mat (bitmap.getWidth(), bitmap.getHeight(), CvType.CV_8UC1);

            Utils.bitmapToMat(bitmap, tmp);

            Photo.fastNlMeansDenoisingColored(tmp,tmp, 10, 10, 7, 21);


            Utils.matToBitmap(tmp,bitmap);

Error

CvException [org.opencv.core.CvException: cv::Exception: /hdd2/buildbot/slaves/slave_ardbeg1/50-SDK/opencv/modules/photo/src/denoising.cpp:91: error: (-5) Type of input image should be CV_8UC3! in function void cv::fastNlMeansDenoisingColored(cv::InputArray, cv::OutputArray, float, float, int, int)
]
    at org.opencv.photo.Photo.fastNlMeansDenoisingColored_0(Native Method)
    at org.opencv.photo.Photo.fastNlMeansDenoisingColored(Photo.java:118)
    at opengl.community.myopencvexample.MainActivity$3.onClick(MainActivity.java:83)
    at android.view.View.performClick(View.java:4478)
    at android.view.View$PerformClick.run(View.java:18698)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:149)
    at android.app.ActivityThread.main(ActivityThread.java:5257)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
    at dalvik.system.NativeStart.main(Native Method)

Respuestas a la pregunta(2)

Su respuesta a la pregunta