int main(int argC,char **argV) { ros::init(argC,argV,"startDepth"); ros::NodeHandle n(cameraName); image_transport::ImageTransport imT(n); std::string serverAddress; n.getParam("/serverNameOrIP",serverAddress); Socket mySocket(serverAddress.c_str(),"9001",streamSize); image_transport::Publisher imagePublisher = imT.advertise(imageTopicSubName,1); ros::Publisher cameraInfoPub = n.advertise<sensor_msgs::CameraInfo>(cameraInfoSubName,1); camera_info_manager::CameraInfoManager camInfoMgr(n,cameraName); camInfoMgr.loadCameraInfo(""); cv::Mat frame; cv_bridge::CvImage cvImage; sensor_msgs::Image rosImage; while(ros::ok()) { mySocket.readData(); frame = cv::Mat(cv::Size(512,424),CV_16UC1,mySocket.mBuffer); cv::flip(frame,frame,1); double utcTime; memcpy(&utcTime,&mySocket.mBuffer[imageSize],sizeof(double)); cvImage.header.stamp = ros::Time(utcTime); cvImage.header.frame_id = ros::this_node::getNamespace() + "/depthFrame"; cvImage.encoding = "mono16"; cvImage.image = frame; cvImage.toImageMsg(rosImage); sensor_msgs::CameraInfo camInfo = camInfoMgr.getCameraInfo(); std::cout << "Hello23 " << std::endl; camInfo.header.stamp = cvImage.header.stamp; camInfo.header.frame_id = cvImage.header.frame_id; cameraInfoPub.publish(camInfo); imagePublisher.publish(rosImage); ros::spinOnce(); } return 0; }
int main(int argC,char **argV) { ros::init(argC,argV,"startRGB"); ros::NodeHandle n(cameraName); image_transport::ImageTransport imT(n); std::string serverAddress; n.getParam("/serverNameOrIP",serverAddress); n.getParam(ros::this_node::getNamespace().substr(1,std::string::npos) + "/rgb_frame", cameraFrame); Socket mySocket(serverAddress.c_str(),"9000",streamSize); image_transport::CameraPublisher cameraPublisher = imT.advertiseCamera( imageTopicSubName, 1); camera_info_manager::CameraInfoManager camInfoMgr(n,cameraName); camInfoMgr.loadCameraInfo(""); cv::Mat frame; cv_bridge::CvImage cvImage; sensor_msgs::Image rosImage; while(ros::ok()) { printf("Got a frame.\n"); mySocket.readData(); printf("Creating mat.\n"); frame = cv::Mat(cv::Size(1920, 1080), CV_8UC4, mySocket.mBuffer); cv::cvtColor(frame, frame, CV_BGRA2BGR); cv::flip(frame,frame,1); printf("Getting time.\n"); double utcTime; memcpy(&utcTime,&mySocket.mBuffer[imageSize],sizeof(double)); cvImage.header.frame_id = cameraFrame.c_str(); printf("%s\n", cameraFrame.c_str()); cvImage.encoding = "bgr8"; cvImage.image = frame; cvImage.toImageMsg(rosImage); sensor_msgs::CameraInfo camInfo = camInfoMgr.getCameraInfo(); camInfo.header.frame_id = cvImage.header.frame_id; printf("Updating.\n"); cameraPublisher.publish(rosImage, camInfo, ros::Time(utcTime)); ros::spinOnce(); } return 0; }
void MainWindow::CandidatesToBW() { aBWThres.Resize(aDaBest.Size()); aP.Resize(aDaBest.Size()); for (int i=0; i<aDaBest.Size(); i++) { //ImageProcessor::ContrastGrayImage(aDaBest[i], // ImageProcessor::AdaptiveThreshold(aDaBest[i], // aBWThres[i], aP[i].p1, aP[i].p2)); //ImageProcessor::ContrastGrayImage(aDaBest[i], // ImageProcessor::OtsuBinarizationThreshold(aDaBest[i])); //TIL::GrayImage imT(aDaBest[i]); //ImageProcessor::BernsenBinarization(imT,aDaBest[i]); TIL::GrayImage imT(aDaBest[i]); ImageProcessor::NiblekBinarization(imT,aDaBest[i]); } }