int Preprocessor::resize(){ string src = para.res_src; string dst = para.res_dst; string in_pre = para.res_in_pre; string in_post = para.res_in_post; string out_pre = para.res_out_pre; string out_post = para.res_out_post; unsigned int serial_beg = para.serial_beg; unsigned int serial_end = para.serial_end, serial_bits = para.serial_bits, thread_num = para.thread_num; double res_fx = para.res_fx; double res_fy = para.res_fy; string sys_del = para.sys_del; #pragma omp parallel for num_threads(thread_num) for(int serial_num = serial_beg; serial_num <= int(serial_end); ++ serial_num){ string serial_str(""), in_path(""), out_path(""); stringstream str_buffer; cv::Mat in_image, out_image; str_buffer<<setw(serial_bits)<<setfill('0')<<serial_num; str_buffer>>serial_str; str_buffer.clear(); cout<<serial_str<<endl; in_path = src + sys_del + in_pre + serial_str + in_post; //cout<<in_path<<endl; out_path = dst + sys_del + out_pre + serial_str + out_post; //cout<<in_path<<endl; in_image = cv::imread(in_path, CV_LOAD_IMAGE_UNCHANGED); cv::resize(in_image, out_image, cv::Size(), res_fx, res_fy, cv::INTER_LINEAR); cv::imwrite(out_path, out_image); } return 0; }
int Preprocessor::project(){ string src = para.pro_src, dst = para.pro_dst, in_pre = para.pro_in_pre, in_post = para.pro_in_post, out_pre = para.pro_out_pre, out_post = para.pro_out_post; string sys_del = para.sys_del; unsigned int thick_num = para.pro_thick, image_depth = para.image_depth, serial_beg = para.serial_beg, serial_end = para.serial_end, serial_bits = para.serial_bits; stringstream str_buffer; string serial_str(""); cv::Mat tmp_image, out_image; string this_image_name(""), out_image_name(""); unsigned int pro_count = 0; for(unsigned int serial_num = serial_beg; serial_num <= serial_end; ++serial_num){ str_buffer<<setw(serial_bits)<<setfill('0')<<serial_num; str_buffer>>serial_str; str_buffer.clear(); cout<<serial_str<<endl; this_image_name = src + sys_del + in_pre + serial_str + in_post; out_image_name = dst + sys_del + out_pre + serial_str + out_post; tmp_image = cv::imread(this_image_name, CV_LOAD_IMAGE_UNCHANGED); if(pro_count == 0){ if(image_depth == 8){ out_image = cv::Mat::zeros(tmp_image.rows, tmp_image.cols, CV_8UC1); }else if(image_depth == 16){ out_image = cv::Mat::zeros(tmp_image.rows, tmp_image.cols, CV_16UC1); } } out_image = cv::max(out_image, tmp_image); ++ pro_count; if(pro_count == thick_num || serial_num == serial_end){ cv::imwrite(out_image_name, out_image); pro_count = 0; } } return 0; }
/* * Class: vision_thegraffter_VisionWrapper * Method: pushModel * Signature: ([BI)V */ JNIEXPORT void JNICALL Java_vision_thegraffter_VisionWrapper_pushModel (JNIEnv *env, jobject, jbyteArray jni_model_bytes, jint model_id) { LOGD("--------------- ADD MODEL ---------------"); // Convert jbyteArray to string int len = env->GetArrayLength(jni_model_bytes); unsigned char *buf = new unsigned char[len]; env->GetByteArrayRegion(jni_model_bytes, 0, len, reinterpret_cast<jbyte*>(buf)); std::string serial_str(reinterpret_cast<char const*>(buf), len); // Restore data wrapper.deserializeModel(serial_str); graffter::ObjModelPtr objMod = wrapper.getModel(); objMod->changeId(model_id); wrapper.addModel(objMod); }
int Preprocessor::tar(){ string src = para.tar_src; string dst = para.tar_dst; string tar_pre = para.tar_file_pre; string tar_post = para.tar_file_post; string serial_str(""), tar_file_path(""); string sys_del = para.sys_del; unsigned int serial_beg = para.serial_beg, serial_end = para.serial_end, serial_bits = para.serial_bits, thread_num = para.thread_num; #pragma omp parallel for num_threads(thread_num) for(int serial_num = int(serial_beg); serial_num <= int(serial_end); ++ serial_num){ cout<<serial_num<<" "<<omp_get_thread_num()<<endl; stringstream str_buffer; str_buffer<<setw(serial_bits)<<setfill('0')<<serial_num; str_buffer>>serial_str; str_buffer.clear(); tar_file_path = src + sys_del + tar_pre + serial_str + tar_post; Tar tar1(tar_file_path); tar1.untar(dst); } return 0; }