--- image_pipeline/image_view/src/nodes/image_saver.cpp.bak	2013-02-19 19:21:13.747129780 +0900
+++ image_pipeline/image_view/src/nodes/image_saver.cpp	2013-02-19 19:21:59.488974352 +0900
@@ -10,6 +10,7 @@
 int g_count = 0;
 boost::format g_format;
 bool save_all_image, save_image_service;
+std::string encoding;
 
 bool service(std_srvs::Empty::Request &req, std_srvs::Empty::Response &res) {
   save_image_service = true;
@@ -21,7 +22,7 @@
   cv::Mat image;
   try
   {
-    image = cv_bridge::toCvShare(image_msg, "bgr8")->image;
+    image = cv_bridge::toCvShare(image_msg, encoding)->image;
   } catch(cv_bridge::Exception)
   {
     ROS_ERROR("Unable to convert %s image to bgr8", image_msg->encoding.c_str());
@@ -63,6 +64,7 @@
   ros::NodeHandle local_nh("~");
   std::string format_string;
   local_nh.param("filename_format", format_string, std::string("left%04i.%s"));
+  local_nh.param("encoding", encoding, std::string("bgr8"));
   local_nh.param("save_all_image", save_all_image, true);
   g_format.parse(format_string);
   ros::ServiceServer save = local_nh.advertiseService ("save", service);
