This commit is contained in:
luoliangyi 2022-10-14 17:39:28 +08:00
commit 83ef902dc2
4 changed files with 25 additions and 3 deletions

View File

@ -85,6 +85,13 @@ enum
CV_IMWRITE_JPEG_RST_INTERVAL =4, CV_IMWRITE_JPEG_RST_INTERVAL =4,
CV_IMWRITE_JPEG_LUMA_QUALITY =5, CV_IMWRITE_JPEG_LUMA_QUALITY =5,
CV_IMWRITE_JPEG_CHROMA_QUALITY =6, CV_IMWRITE_JPEG_CHROMA_QUALITY =6,
// add for DPI on 2022-10-14
CV_IMWRITE_JPEG_RESOLUTION_UNIT = 7, // 0 - unknown(default value), 1 - dots/inch, 2 - dots/cm
CV_IMWRITE_JPEG_RESOLUTION_X = 8, // default value - 1
CV_IMWRITE_JPEG_RESOLUTION_Y = 9, // default value - 1
// ENDED for DPI
CV_IMWRITE_PNG_COMPRESSION =16, CV_IMWRITE_PNG_COMPRESSION =16,
CV_IMWRITE_PNG_STRATEGY =17, CV_IMWRITE_PNG_STRATEGY =17,
CV_IMWRITE_PNG_BILEVEL =18, CV_IMWRITE_PNG_BILEVEL =18,

View File

@ -85,6 +85,13 @@ enum
CV_IMWRITE_JPEG_RST_INTERVAL =4, CV_IMWRITE_JPEG_RST_INTERVAL =4,
CV_IMWRITE_JPEG_LUMA_QUALITY =5, CV_IMWRITE_JPEG_LUMA_QUALITY =5,
CV_IMWRITE_JPEG_CHROMA_QUALITY =6, CV_IMWRITE_JPEG_CHROMA_QUALITY =6,
// add for DPI on 2022-10-14
CV_IMWRITE_JPEG_RESOLUTION_UNIT = 7, // 0 - unknown(default value), 1 - dots/inch, 2 - dots/cm
CV_IMWRITE_JPEG_RESOLUTION_X = 8, // default value - 1
CV_IMWRITE_JPEG_RESOLUTION_Y = 9, // default value - 1
// ENDED for DPI
CV_IMWRITE_PNG_COMPRESSION =16, CV_IMWRITE_PNG_COMPRESSION =16,
CV_IMWRITE_PNG_STRATEGY =17, CV_IMWRITE_PNG_STRATEGY =17,
CV_IMWRITE_PNG_BILEVEL =18, CV_IMWRITE_PNG_BILEVEL =18,

View File

@ -1399,8 +1399,16 @@ namespace hg_imgproc
// MSB word[7] and word[8] are x and y resolutions // MSB word[7] and word[8] are x and y resolutions
std::vector<int> cpr; std::vector<int> cpr;
unsigned short jpeg_r = (resolution << 8) | ((resolution >> 8) & 0x0ff); unsigned short jpeg_r = (resolution << 8) | ((resolution >> 8) & 0x0ff);
int resolution_y = bih.biYPelsPerMeter / 39.37f + .5f;
cpr.push_back(CV_IMWRITE_JPEG_QUALITY); cpr.push_back(CV_IMWRITE_JPEG_QUALITY);
cpr.push_back((int)(long)conv->dst.fmt.detail); cpr.push_back((int)(long)conv->dst.fmt.detail);
cpr.push_back(CV_IMWRITE_JPEG_RESOLUTION_UNIT);
cpr.push_back(1);
cpr.push_back(CV_IMWRITE_JPEG_RESOLUTION_X);
cpr.push_back(resolution);
cpr.push_back(CV_IMWRITE_JPEG_RESOLUTION_Y);
cpr.push_back(resolution_y);
if (conv->dst.is_file) if (conv->dst.is_file)
{ {
cv::imwrite(conv->dst.data, imsg, cpr); cv::imwrite(conv->dst.data, imsg, cpr);

View File

@ -15,10 +15,10 @@ file(GLOB DIR_HEADS "${PROJECT_SOURCE_DIR}/*.h" "${PROJECT_SOURCE_DIR}/*.hpp")
set(DIR_SRCS ${DIR_SRCS} ${DIR_HEADS}) set(DIR_SRCS ${DIR_SRCS} ${DIR_HEADS})
add_library(${PROJECT_NAME} SHARED ${DIR_SRCS}) add_library(${PROJECT_NAME} SHARED ${DIR_SRCS})
link_directories(${PROJECT_NAME} PRIVATE link_directories(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../../release/kylin/${CMAKE_SYSTEM_PROCESSOR} ${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR}
) )
target_link_libraries(${PROJECT_NAME} PRIVATE hgdriver target_link_libraries(${PROJECT_NAME} PRIVATE hgdriver
${PROJECT_SOURCE_DIR}/../../release/kylin/${CMAKE_SYSTEM_PROCESSOR}/libhgdriver.so ${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libhgdriver.so
) )
@ -28,7 +28,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../../sdk/include ${PROJECT_SOURCE_DIR}/../../sdk/include
) )
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../release/kylin/${CMAKE_SYSTEM_PROCESSOR}) set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR})