diff --git a/package_bgs/CodeBook.cpp b/package_bgs/CodeBook.cpp
index a1e4056de98c4391fc9751a16f501d6740fbce84..5b066ef5b06babf8888345fc99644011b7c79492 100644
--- a/package_bgs/CodeBook.cpp
+++ b/package_bgs/CodeBook.cpp
@@ -43,7 +43,14 @@ void CodeBook::process(const cv::Mat &img_input, cv::Mat &img_output, cv::Mat &i
   } 
 
   cv::Mat img_input_gray;
-  cv::cvtColor(img_input, img_input_gray, CV_BGR2GRAY);
+
+  if (img_input.channels() == 1)
+  {
+    img_input_gray = img_input; 
+  } else
+  { 
+    cv::cvtColor(img_input, img_input_gray, CV_BGR2GRAY);
+  }
 
   fg_cb(img_input_gray, img_foreground);