|
@@ -507,6 +507,9 @@ int CTeaSort::load_data(
|
|
|
cv::rotate(m_raw_img, m_raw_img,ROTATE_180);
|
|
|
}
|
|
|
}
|
|
|
+ if (m_raw_img.channels() == 3 && m_dtype == img_type::tea_cut) {
|
|
|
+ img_rgb2bgr(m_raw_img);
|
|
|
+ }
|
|
|
//image saver
|
|
|
if (m_ppImgSaver && *m_ppImgSaver) {
|
|
|
(*m_ppImgSaver)->saveImage(m_raw_img, m_imgId);
|
|
@@ -520,6 +523,18 @@ int CTeaSort::load_data(
|
|
|
return rst;
|
|
|
}
|
|
|
|
|
|
+void CTeaSort::img_rgb2bgr(cv::Mat&img) {
|
|
|
+ assert(img.channels() == 3);
|
|
|
+ unsigned char pixel = 0;
|
|
|
+ for (int r = 0; r < img.rows; ++r) {
|
|
|
+ unsigned char* pRow = img.ptr(r);
|
|
|
+ for (int c = 0; c < img.cols; ++c) {
|
|
|
+ pixel = pRow[c*img.channels()];
|
|
|
+ pRow[c*img.channels()] = pRow[c*img.channels() + 2];
|
|
|
+ pRow[c*img.channels() + 2] = pixel;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
int CTeaSort::load_model()
|
|
|
{
|