From 2c67c96fd8d10c95128f264b0319bcc9c8cc73ed Mon Sep 17 00:00:00 2001 From: Guan-schoolmate Date: Thu, 21 Sep 2023 06:16:09 +0000 Subject: [PATCH 1/8] [DIP] add encoding and decoding of jpeg images --- examples/DIPDialect/CMakeLists.txt | 6 +- examples/images/YuTu.jpg | Bin 0 -> 268316 bytes .../buddy/DIP/imgcodecs/grfmt_jpeg.h | 802 ++++++++++++++++++ .../Interfaces/buddy/DIP/imgcodecs/loadsave.h | 48 +- .../buddy/DIP/imgcodecs/replenishment.h | 17 + tests/Interface/core/CMakeLists.txt | 3 + 6 files changed, 872 insertions(+), 4 deletions(-) create mode 100644 examples/images/YuTu.jpg create mode 100644 frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h diff --git a/examples/DIPDialect/CMakeLists.txt b/examples/DIPDialect/CMakeLists.txt index b64c4bf927..ea73e14a5a 100644 --- a/examples/DIPDialect/CMakeLists.txt +++ b/examples/DIPDialect/CMakeLists.txt @@ -1,5 +1,7 @@ if(BUDDY_ENABLE_OPENCV) find_package(OpenCV REQUIRED CONFIG) + find_package(JPEG REQUIRED) + include_directories(${OpenCV_INCLUDE_DIRS}) include_directories(${OpenCV_INCLUDE_DIRS}) endif() @@ -10,10 +12,10 @@ add_executable(correlationFFT2D correlationFFT2D.cpp) target_link_libraries(correlationFFT2D ${OpenCV_LIBS} BuddyLibDIP) add_executable(rotation2D rotation2D.cpp) -target_link_libraries(rotation2D ${OpenCV_LIBS} BuddyLibDIP) +target_link_libraries(rotation2D ${OpenCV_LIBS} ${JPEG_LIBRARY} BuddyLibDIP) add_executable(resize2D resize2D.cpp) -target_link_libraries(resize2D ${OpenCV_LIBS} BuddyLibDIP) +target_link_libraries(resize2D ${OpenCV_LIBS} ${JPEG_LIBRARY} BuddyLibDIP) add_executable(morph2D morph2D.cpp) target_link_libraries(morph2D ${OpenCV_LIBS} BuddyLibDIP) diff --git a/examples/images/YuTu.jpg b/examples/images/YuTu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fbe1e3d3cc7cdbbc5fbaac0729df168e5ff52e48 GIT binary patch literal 268316 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 M$V6?R>mOL1h^w2N|bL6G)z6Ku=Ol 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

18Uw&H4{txxj@gj;;jZf-cQZ}G3}W#YdD`2PS; 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 literal 0 HcmV?d00001 diff --git a/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h b/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h new file mode 100644 index 0000000000..38c3f75578 --- /dev/null +++ b/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h @@ -0,0 +1,802 @@ +//===- Grfmt_jpeg.h ---------------------------------------------------===// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this +// license. If you do not agree to this license, do not download, install, copy +// or use the software. +// +// +// Intel License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000, Intel Corporation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright +// notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of Intel Corporation may not be used to endorse or promote +// products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" +// and any express or implied warranties, including, but not limited to, the +// implied warranties of merchantability and fitness for a particular purpose +// are disclaimed. In no event shall the Intel Corporation or contributors be +// liable for any direct, indirect, incidental, special, exemplary, or +// consequential damages (including, but not limited to, procurement of +// substitute goods or services; loss of use, data, or profits; or business +// interruption) however caused and on any theory of liability, whether in +// contract, strict liability, or tort (including negligence or otherwise) +// arising in any way out of the use of this software, even if advised of the +// possibility of such damage. +// +// +//===----------------------------------------------------------------------===// +// +// This file is modified from opencv's modules/imgcodecs/src/grfmt_jpeg.hpp file +// +//===----------------------------------------------------------------------===// + +#ifndef _GRFMT_JPEG_H_ +#define _GRFMT_JPEG_H_ + +#ifdef _MSC_VER +// interaction between '_setjmp' and C++ object destruction is non-portable +#pragma warning(disable : 4611) +#endif + +#include +#include +#include + +// the following defines are a hack to avoid multiple problems with frame +// pointer handling and setjmp see +// http://gcc.gnu.org/ml/gcc/2011-10/msg00324.html for some details +#define mingw_getsp(...) 0 +#define __builtin_frame_address(...) 0 + +#ifdef _WIN32 + +#define XMD_H // prevent redefinition of INT32 +#undef FAR // prevent FAR redefinition + +#endif + +#if defined _WIN32 && defined __GNUC__ +typedef unsigned char boolean; +#endif + +#undef FALSE +#undef TRUE + +extern "C" { +#include "jpeglib.h" +} + +#ifndef IMG_MANUAL_JPEG_STD_HUFF_TABLES +#if defined(LIBJPEG_TURBO_VERSION_NUMBER) && \ + LIBJPEG_TURBO_VERSION_NUMBER >= 1003090 +#define IMG_MANUAL_JPEG_STD_HUFF_TABLES \ + 0 // libjpeg-turbo handles standard huffman tables itself (jstdhuff.c) +#else +#define IMG_MANUAL_JPEG_STD_HUFF_TABLES 1 +#endif +#endif +#if IMG_MANUAL_JPEG_STD_HUFF_TABLES == 0 +#undef IMG_MANUAL_JPEG_STD_HUFF_TABLES +#endif + +#include "buddy/DIP/imgcodecs/bitstrm.h" +#include "buddy/DIP/imgcodecs/grfmt_base.h" + +/* Miscellaneous useful macros */ +#undef MAX +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#undef MIN +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +/** + * @brief Jpeg markers that can be encountered in a Jpeg file + */ +enum AppMarkerTypes { + SOI = 0xD8, + SOF0 = 0xC0, + SOF2 = 0xC2, + DHT = 0xC4, + DQT = 0xDB, + DRI = 0xDD, + SOS = 0xDA, + RST0 = 0xD0, + RST1 = 0xD1, + RST2 = 0xD2, + RST3 = 0xD3, + RST4 = 0xD4, + RST5 = 0xD5, + RST6 = 0xD6, + RST7 = 0xD7, + APP0 = 0xE0, + APP1 = 0xE1, + APP2 = 0xE2, + APP3 = 0xE3, + APP4 = 0xE4, + APP5 = 0xE5, + APP6 = 0xE6, + APP7 = 0xE7, + APP8 = 0xE8, + APP9 = 0xE9, + APP10 = 0xEA, + APP11 = 0xEB, + APP12 = 0xEC, + APP13 = 0xED, + APP14 = 0xEE, + APP15 = 0xEF, + COM = 0xFE, + EOI = 0xD9 +}; + +namespace dip { +template +class JpegDecoder : public BaseImageDecoder { +public: + JpegDecoder(); + virtual ~JpegDecoder(); + + bool readData(Img &img); + bool readHeader(); + void close(); + + std::unique_ptr> newDecoder() const; + +protected: + FILE *m_f; + void *m_state; + +private: + JpegDecoder(const JpegDecoder &); // copy disabled + JpegDecoder &operator=(const JpegDecoder &); // assign disabled +}; + +template +class JpegEncoder : public BaseImageEncoder { +public: + JpegEncoder(); + virtual ~JpegEncoder(); + + bool write(Img &img, const std::vector ¶ms); + std::unique_ptr> newEncoder() const; +}; + +struct JpegErrorMgr { + struct jpeg_error_mgr pub; + jmp_buf setjmp_buffer; +}; + +struct JpegSource { + struct jpeg_source_mgr pub; + int skip; +}; + +struct JpegState { + jpeg_decompress_struct cinfo; // IJG JPEG codec structure + JpegErrorMgr jerr; // error processing manager state + JpegSource source; // memory buffer source +}; + +/////////////////////// Error processing ///////////////////// + +METHODDEF(void) +stub(j_decompress_ptr) {} + +METHODDEF(boolean) +fill_input_buffer(j_decompress_ptr) { return FALSE; } + +// emulating memory input stream + +METHODDEF(void) +skip_input_data(j_decompress_ptr cinfo, long num_bytes) { + JpegSource *source = (JpegSource *)cinfo->src; + + if (num_bytes > (long)source->pub.bytes_in_buffer) { + // We need to skip more data than we have in the buffer. + // This will force the JPEG library to suspend decoding. + source->skip = (int)(num_bytes - source->pub.bytes_in_buffer); + source->pub.next_input_byte += source->pub.bytes_in_buffer; + source->pub.bytes_in_buffer = 0; + } else { + // Skip portion of the buffer + source->pub.bytes_in_buffer -= num_bytes; + source->pub.next_input_byte += num_bytes; + source->skip = 0; + } +} + +static void jpeg_buffer_src(j_decompress_ptr cinfo, JpegSource *source) { + cinfo->src = &source->pub; + + // Prepare for suspending reader + source->pub.init_source = stub; + source->pub.fill_input_buffer = fill_input_buffer; + source->pub.skip_input_data = skip_input_data; + source->pub.resync_to_restart = jpeg_resync_to_restart; + source->pub.term_source = stub; + source->pub.bytes_in_buffer = 0; // forces fill_input_buffer on first read + + source->skip = 0; +} + +METHODDEF(void) +error_exit(j_common_ptr cinfo) { + JpegErrorMgr *err_mgr = (JpegErrorMgr *)(cinfo->err); + + /* Return control to the setjmp point */ + longjmp(err_mgr->setjmp_buffer, 1); +} + +/************************ JPEG decoder *****************************/ +template JpegDecoder::JpegDecoder() { + this->m_signature = "\xFF\xD8\xFF"; + m_state = 0; + m_f = 0; + this->m_buf_supported = true; +} + +template JpegDecoder::~JpegDecoder() { close(); } + +template void JpegDecoder::close() { + if (m_state) { + JpegState *state = (JpegState *)m_state; + jpeg_destroy_decompress(&state->cinfo); + delete state; + m_state = 0; + } + + if (m_f) { + fclose(m_f); + m_f = 0; + } + + this->m_width = this->m_height = 0; + this->m_channels = -1; +} + +template +std::unique_ptr> JpegDecoder::newDecoder() const { + return std::make_unique>(); +} + +template bool JpegDecoder::readHeader() { + volatile bool result = false; + close(); + + JpegState *state = new JpegState; + m_state = state; + state->cinfo.err = jpeg_std_error(&state->jerr.pub); + state->jerr.pub.error_exit = error_exit; + + if (setjmp(state->jerr.setjmp_buffer) == 0) { + jpeg_create_decompress(&state->cinfo); + + m_f = fopen(this->m_filename.c_str(), "rb"); + if (m_f) + jpeg_stdio_src(&state->cinfo, m_f); + + if (state->cinfo.src != 0) { + jpeg_save_markers(&state->cinfo, APP1, 0xffff); + jpeg_read_header(&state->cinfo, TRUE); + + state->cinfo.scale_num = 1; + state->cinfo.scale_denom = this->m_scale_denom; + this->m_scale_denom = + 1; // trick! to know which decoder used scale_denom see imread_ + jpeg_calc_output_dimensions(&state->cinfo); + this->m_width = state->cinfo.output_width; + this->m_height = state->cinfo.output_height; + this->m_channels = state->cinfo.num_components > 1 ? 3 : 1; + result = true; + } + } + + if (!result) + close(); + + return result; +} + +#ifdef IMG_MANUAL_JPEG_STD_HUFF_TABLES +/*************************************************************************** + * following code is for supporting MJPEG image files + * based on a message of Laurent Pinchart on the video4linux mailing list + ***************************************************************************/ + +/* JPEG DHT Segment for YCrCb omitted from MJPEG data */ +static unsigned char my_jpeg_odml_dht[0x1a4] = { + 0xff, 0xc4, 0x01, 0xa2, + + 0x00, 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, + 0x07, 0x08, 0x09, 0x0a, 0x0b, + + 0x01, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, + 0x07, 0x08, 0x09, 0x0a, 0x0b, + + 0x10, 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03, 0x05, 0x05, 0x04, + 0x04, 0x00, 0x00, 0x01, 0x7d, 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, + 0x12, 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, + 0x32, 0x81, 0x91, 0xa1, 0x08, 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, + 0xf0, 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, 0x17, 0x18, 0x19, + 0x1a, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, + 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, + 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x83, 0x84, + 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, + 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, + 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, + 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, + 0xd8, 0xd9, 0xda, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, + 0xea, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, + + 0x11, 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 0x07, 0x05, 0x04, + 0x04, 0x00, 0x01, 0x02, 0x77, 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, + 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, + 0x81, 0x08, 0x14, 0x42, 0x91, 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, + 0xf0, 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, 0xe1, 0x25, 0xf1, + 0x17, 0x18, 0x19, 0x1a, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, + 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, + 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, + 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x82, + 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, + 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, + 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, + 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, + 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, + 0xe9, 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa}; + +/* + * Parse the DHT table. + * This code comes from jpeg6b (jdmarker.c). + */ +static int my_jpeg_load_dht(struct jpeg_decompress_struct *info, + unsigned char *dht, JHUFF_TBL *ac_tables[], + JHUFF_TBL *dc_tables[]) { + unsigned int length = (dht[2] << 8) + dht[3] - 2; + unsigned int pos = 4; + unsigned int count, i; + int index; + + JHUFF_TBL **hufftbl; + unsigned char bits[17]; + unsigned char huffval[256] = {0}; + + while (length > 16) { + bits[0] = 0; + index = dht[pos++]; + count = 0; + for (i = 1; i <= 16; ++i) { + bits[i] = dht[pos++]; + count += bits[i]; + } + length -= 17; + + if (count > 256 || count > length) + return -1; + + for (i = 0; i < count; ++i) + huffval[i] = dht[pos++]; + length -= count; + + if (index & 0x10) { + index &= ~0x10; + hufftbl = &ac_tables[index]; + } else + hufftbl = &dc_tables[index]; + + if (index < 0 || index >= NUM_HUFF_TBLS) + return -1; + + if (*hufftbl == NULL) + *hufftbl = jpeg_alloc_huff_table((j_common_ptr)info); + if (*hufftbl == NULL) + return -1; + + memcpy((*hufftbl)->bits, bits, sizeof(*hufftbl)->bits); + memcpy((*hufftbl)->huffval, huffval, sizeof(*hufftbl)->huffval); + } + + if (length != 0) + return -1; + + return 0; +} + +/*************************************************************************** + * end of code for supportting MJPEG image files + * based on a message of Laurent Pinchart on the video4linux mailing list + ***************************************************************************/ +#endif // IMG_MANUAL_JPEG_STD_HUFF_TABLES + +template +bool JpegDecoder::readData(Img &img) { + volatile bool result = false; + size_t step = this->m_width * img.channels(); + bool color = img.channels() > 1; + + if (m_state && this->m_width && this->m_height) { + jpeg_decompress_struct *cinfo = &((JpegState *)m_state)->cinfo; + JpegErrorMgr *jerr = &((JpegState *)m_state)->jerr; + JSAMPARRAY buffer = 0; + + if (setjmp(jerr->setjmp_buffer) == 0) { +#ifdef IMG_MANUAL_JPEG_STD_HUFF_TABLES + /* check if this is a mjpeg image format */ + if (cinfo->ac_huff_tbl_ptrs[0] == NULL && + cinfo->ac_huff_tbl_ptrs[1] == NULL && + cinfo->dc_huff_tbl_ptrs[0] == NULL && + cinfo->dc_huff_tbl_ptrs[1] == NULL) { + /* yes, this is a mjpeg image format, so load the correct + huffman table */ + my_jpeg_load_dht(cinfo, my_jpeg_odml_dht, cinfo->ac_huff_tbl_ptrs, + cinfo->dc_huff_tbl_ptrs); + } +#endif + + if (color) { + if (cinfo->num_components != 4) { + cinfo->out_color_space = JCS_RGB; + cinfo->out_color_components = 3; + } else { + cinfo->out_color_space = JCS_CMYK; + cinfo->out_color_components = 4; + } + } else { + if (cinfo->num_components != 4) { + cinfo->out_color_space = JCS_GRAYSCALE; + cinfo->out_color_components = 1; + } else { + cinfo->out_color_space = JCS_CMYK; + cinfo->out_color_components = 4; + } + } + // Check for Exif marker APP1 + jpeg_saved_marker_ptr exif_marker = NULL; + jpeg_saved_marker_ptr cmarker = cinfo->marker_list; + while (cmarker && exif_marker == NULL) { + if (cmarker->marker == APP1) + exif_marker = cmarker; + + cmarker = cmarker->next; + } + jpeg_start_decompress(cinfo); + buffer = (*cinfo->mem->alloc_sarray)((j_common_ptr)cinfo, JPOOL_IMAGE, + this->m_width * 4, 1); + T *data = img.getData(); + for (; this->m_height--; data += step) { + jpeg_read_scanlines(cinfo, buffer, 1); + if (color) { + if (cinfo->out_color_components == 3) { + int bgr_step = 0; + int rgb_step = 0; + _Size size(this->m_width, 1); + for (; size.height--;) { + for (int i = 0; i < size.width; i++, buffer[0] += 3, data += 3) { + uchar t0 = buffer[0][0], t1 = buffer[0][1], t2 = buffer[0][2]; + data[2] = (T)t0; + data[1] = (T)t1; + data[0] = (T)t2; + } + buffer[0] += bgr_step - size.width * 3; + data += rgb_step - size.width * 3; + } + } else { + int cmyk_step = 0; + int bgr_step = 0; + _Size size(this->m_width, 1); + for (; size.height--;) { + for (int i = 0; i < size.width; i++, data += 3, buffer[0] += 4) { + int c = buffer[0][0], m = buffer[0][1], y = buffer[0][2], + k = buffer[0][3]; + c = k - ((255 - c) * k >> 8); + m = k - ((255 - m) * k >> 8); + y = k - ((255 - y) * k >> 8); + data[2] = (T)c; + data[1] = (T)m; + data[0] = (T)y; + } + data += bgr_step - size.width * 3; + buffer[0] += cmyk_step - size.width * 4; + } + } + } else { + if (cinfo->out_color_components == 1) { + for (int i = 0; i < this->m_width; i++) { + data[i] = (T)buffer[0][i]; + } + } else { + int cmyk_step = 0; + int gray_step = 0; + _Size size(this->m_width, 1); + for (; size.height--;) { + for (int i = 0; i < size.width; i++, buffer[0] += 4) { + int c = buffer[0][0], m = buffer[0][1], y = buffer[0][2], + k = buffer[0][3]; + c = k - ((255 - c) * k >> 8); + m = k - ((255 - m) * k >> 8); + y = k - ((255 - y) * k >> 8); + int t = descale(y * cB + m * cG + c * cR, SCALE); + data[i] = (T)t; + } + data += gray_step; + buffer[0] += cmyk_step - size.width * 4; + } + } + } + } + result = true; + jpeg_finish_decompress(cinfo); + } + } + close(); + return result; +} + +/////////////////////// JpegEncoder /////////////////// + +struct JpegDestination { + struct jpeg_destination_mgr pub; + std::vector *buf, *dst; +}; + +METHODDEF(void) +stub(j_compress_ptr) {} + +METHODDEF(void) +term_destination(j_compress_ptr cinfo) { + JpegDestination *dest = (JpegDestination *)cinfo->dest; + size_t sz = dest->dst->size(), + bufsz = dest->buf->size() - dest->pub.free_in_buffer; + if (bufsz > 0) { + dest->dst->resize(sz + bufsz); + memcpy(&(*dest->dst)[0] + sz, &(*dest->buf)[0], bufsz); + } +} + +METHODDEF(boolean) +empty_output_buffer(j_compress_ptr cinfo) { + JpegDestination *dest = (JpegDestination *)cinfo->dest; + size_t sz = dest->dst->size(), bufsz = dest->buf->size(); + dest->dst->resize(sz + bufsz); + memcpy(&(*dest->dst)[0] + sz, &(*dest->buf)[0], bufsz); + + dest->pub.next_output_byte = &(*dest->buf)[0]; + dest->pub.free_in_buffer = bufsz; + return TRUE; +} + +static void jpeg_buffer_dest(j_compress_ptr cinfo, + JpegDestination *destination) { + cinfo->dest = &destination->pub; + + destination->pub.init_destination = stub; + destination->pub.empty_output_buffer = empty_output_buffer; + destination->pub.term_destination = term_destination; +} + +template JpegEncoder::JpegEncoder() { + this->m_description = "JPEG files (*.jpeg;*.jpg;*.jpe)"; + this->m_buf_supported = true; +} + +template JpegEncoder::~JpegEncoder() {} + +template +std::unique_ptr> JpegEncoder::newEncoder() const { + return std::make_unique>(); +} + +template +bool JpegEncoder::write(Img &img, + const std::vector ¶ms) { + + this->m_last_error.clear(); + + struct fileWrapper { + FILE *f; + + fileWrapper() : f(0) {} + ~fileWrapper() { + if (f) + fclose(f); + } + }; + volatile bool result = false; + fileWrapper fw; + int width = img.getSizes()[1], height = img.getSizes()[0]; + std::vector out_buf(1 << 12); + + uchar *_buffer = nullptr; + uchar *buffer = nullptr; + + struct jpeg_compress_struct cinfo; + JpegErrorMgr jerr; + JpegDestination dest; + + cinfo.err = jpeg_std_error(&jerr.pub); + jerr.pub.error_exit = error_exit; + jpeg_create_compress(&cinfo); + + if (!this->m_buf) { + fw.f = fopen(this->m_filename.c_str(), "wb"); + if (!fw.f) + goto _exit_; + jpeg_stdio_dest(&cinfo, fw.f); + } else { + dest.dst = this->m_buf; + dest.buf = &out_buf; + + jpeg_buffer_dest(&cinfo, &dest); + + dest.pub.next_output_byte = &out_buf[0]; + dest.pub.free_in_buffer = out_buf.size(); + } + + if (setjmp(jerr.setjmp_buffer) == 0) { + cinfo.image_width = width; + cinfo.image_height = height; + + int _channels = img.channels(); + int channels = _channels > 1 ? 3 : 1; + cinfo.input_components = channels; + cinfo.in_color_space = channels > 1 ? JCS_RGB : JCS_GRAYSCALE; + + int quality = 95; + int progressive = 0; + int optimize = 0; + int rst_interval = 0; + int luma_quality = -1; + int chroma_quality = -1; + + for (size_t i = 0; i < params.size(); i += 2) { + if (params[i] == IMWRITE_JPEG_QUALITY) { + quality = params[i + 1]; + quality = MIN(MAX(quality, 0), 100); + } + + if (params[i] == IMWRITE_JPEG_PROGRESSIVE) { + progressive = params[i + 1]; + } + + if (params[i] == IMWRITE_JPEG_OPTIMIZE) { + optimize = params[i + 1]; + } + + if (params[i] == IMWRITE_JPEG_LUMA_QUALITY) { + if (params[i + 1] >= 0) { + luma_quality = MIN(MAX(params[i + 1], 0), 100); + + quality = luma_quality; + + if (chroma_quality < 0) { + chroma_quality = luma_quality; + } + } + } + + if (params[i] == IMWRITE_JPEG_CHROMA_QUALITY) { + if (params[i + 1] >= 0) { + chroma_quality = MIN(MAX(params[i + 1], 0), 100); + } + } + + if (params[i] == IMWRITE_JPEG_RST_INTERVAL) { + rst_interval = params[i + 1]; + rst_interval = MIN(MAX(rst_interval, 0), 65535L); + } + } + + jpeg_set_defaults(&cinfo); + cinfo.restart_interval = rst_interval; + + jpeg_set_quality(&cinfo, quality, TRUE /* limit to baseline-JPEG values */); + if (progressive) + jpeg_simple_progression(&cinfo); + if (optimize) + cinfo.optimize_coding = TRUE; + +#if JPEG_LIB_VERSION >= 70 + if (luma_quality >= 0 && chroma_quality >= 0) { + cinfo.q_scale_factor[0] = jpeg_quality_scaling(luma_quality); + cinfo.q_scale_factor[1] = jpeg_quality_scaling(chroma_quality); + if (luma_quality != chroma_quality) { + /* disable subsampling - ref. Libjpeg.txt */ + cinfo.comp_info[0].v_samp_factor = 1; + cinfo.comp_info[0].h_samp_factor = 1; + cinfo.comp_info[1].v_samp_factor = 1; + cinfo.comp_info[1].h_samp_factor = 1; + } + jpeg_default_qtables(&cinfo, TRUE); + } +#endif // #if JPEG_LIB_VERSION >= 70 + + jpeg_start_compress(&cinfo, TRUE); + + //_buffer.allocate(width * channels); + _buffer = new uchar[width * channels]; + buffer = _buffer; + int step = width * img.channels(); + + for (int y = 0; y < height; y++) { + T *data = img.getData() + step * y; + uchar *ptr = nullptr; + + if (_channels == 3) { + // icvCvt_BGR2RGB_8u_C3R(data, 0, buffer, 0, _Size(width, 1)); + int bgr_step = 0; + int rgb_step = 0; + _Size size(width, 1); + for (; size.height--;) { + for (int i = 0; i < size.width; i++, data += 3, buffer += 3) { + uchar t0 = (uchar)data[0], t1 = (uchar)data[1], t2 = (uchar)data[2]; + buffer[2] = t0; + buffer[1] = t1; + buffer[0] = t2; + } + data += bgr_step - size.width * 3; + buffer += rgb_step - size.width * 3; + } + ptr = buffer; + + } else if (_channels == 4) { + // icvCvt_BGRA2BGR_8u_C4C3R(data, 0, buffer, 0, _Size(width, 1), 2); + int swap_rb = 2; + int bgra_step = 0; + int bgr_step = 0; + _Size size(width, 1); + for (; size.height--;) { + for (int i = 0; i < size.width; i++, buffer += 3, data += 4) { + uchar t0 = (uchar)data[swap_rb], t1 = (uchar)data[1]; + buffer[0] = t0; + buffer[1] = t1; + t0 = (uchar)data[swap_rb ^ 2]; + buffer[2] = t0; + } + buffer += bgr_step - size.width * 3; + data += bgra_step - size.width * 4; + } + ptr = buffer; + } else if (_channels == 1) { + for (int i = 0; i < width; i++) { + buffer[i] = (uchar)data[i]; + } + ptr = buffer; + } + + jpeg_write_scanlines(&cinfo, &ptr, 1); + } + + jpeg_finish_compress(&cinfo); + result = true; + } + +_exit_: + + if (!result) { + char jmsg_buf[JMSG_LENGTH_MAX]; + jerr.pub.format_message((j_common_ptr)&cinfo, jmsg_buf); + this->m_last_error = jmsg_buf; + } + + jpeg_destroy_compress(&cinfo); + + return result; +} +} // namespace dip +#endif /*_GRFMT_JPEG_H_*/ diff --git a/frontend/Interfaces/buddy/DIP/imgcodecs/loadsave.h b/frontend/Interfaces/buddy/DIP/imgcodecs/loadsave.h index 8c5cab40a7..8f8fcf9719 100644 --- a/frontend/Interfaces/buddy/DIP/imgcodecs/loadsave.h +++ b/frontend/Interfaces/buddy/DIP/imgcodecs/loadsave.h @@ -51,6 +51,7 @@ #define _LOADSAVE_H_ #include "buddy/DIP/imgcodecs/grfmt_bmp.h" +#include "buddy/DIP/imgcodecs/grfmt_jpeg.h" #include "buddy/DIP/imgcodecs/replenishment.h" namespace dip { @@ -59,9 +60,13 @@ template struct ImageCodecInitializer { * Default Constructor for the ImageCodecInitializer */ ImageCodecInitializer() { - /// BMP Support + // BMP Support decoders.push_back(std::make_unique>()); encoders.push_back(std::make_unique>()); + + // JPEG Support + decoders.push_back(std::make_unique>()); + encoders.push_back(std::make_unique>()); } std::vector>> decoders; std::vector>> encoders; @@ -160,6 +165,34 @@ Img imread(const String &filename, int flags) { bmpDecoderPtr->readData(Image); return Image; } + + // Converts a pointer to JpegDecoder + JpegDecoder *JpegDecoderPtr = + dynamic_cast *>(decoder.get()); + if (JpegDecoderPtr) { + // After creating the JpegDecoder instance, perform related + // operations Defines whether the image is scaled or not + int scale_denom = 1; + JpegDecoderPtr->setScale(scale_denom); + // Set image path + JpegDecoderPtr->setSource(filename); + // Read image head + JpegDecoderPtr->readHeader(); + int channels = JpegDecoderPtr->channels(); + if ((flags & IMGRD_COLOR) != 0 || + ((flags & IMGRD_ANYCOLOR) != 0 && channels > 1)) { + channels = 3; + } else { + channels = 1; + } + // Create an Img instance + intptr_t sizes[3] = {JpegDecoderPtr->height(), JpegDecoderPtr->width(), + channels}; + Img Image(sizes); + JpegDecoderPtr->readData(Image); + return Image; + + } } } @@ -219,9 +252,20 @@ static bool imwrite(const String &filename, Img &img_vec) { code = bmpEncoderPtr->write(img_vec, params); return code; } + + // Convert to a pointer of JpegEncoder + JpegEncoder *jpegEncoderPtr = + dynamic_cast *>(encoder.get()); + if (jpegEncoderPtr) { + jpegEncoderPtr->setDestination(filename); + bool code = false; + std::vector params; + code = jpegEncoderPtr->write(img_vec, params); + return code; + } } return true; } } // namespace dip -#endif +#endif \ No newline at end of file diff --git a/frontend/Interfaces/buddy/DIP/imgcodecs/replenishment.h b/frontend/Interfaces/buddy/DIP/imgcodecs/replenishment.h index 2fd5cfe4b2..c396050398 100644 --- a/frontend/Interfaces/buddy/DIP/imgcodecs/replenishment.h +++ b/frontend/Interfaces/buddy/DIP/imgcodecs/replenishment.h @@ -77,6 +77,23 @@ enum ImreadModes { IMGRD_ANYCOLOR = 4, }; +// Imwrite flags +enum ImwriteFlags { + // For JPEG, it can be a quality from 0 to 100 (the higher is the + // better). Default value is 95. + IMWRITE_JPEG_QUALITY = 1, + // Enable JPEG features, 0 or 1, default is False. + IMWRITE_JPEG_PROGRESSIVE = 2, + // Enable JPEG features, 0 or 1, default is False. + IMWRITE_JPEG_OPTIMIZE = 3, + // JPEG restart interval, 0 - 65535, default is 0 - no restart. + IMWRITE_JPEG_RST_INTERVAL = 4, + // Separate luma quality level, 0 - 100, default is 0 - don't use. + IMWRITE_JPEG_LUMA_QUALITY = 5, + // Separate chroma quality level, 0 - 100, default is 0 - don't use. + IMWRITE_JPEG_CHROMA_QUALITY = 6, +}; + class _Size { public: _Size(){}; diff --git a/tests/Interface/core/CMakeLists.txt b/tests/Interface/core/CMakeLists.txt index 5416e2b295..bc9b2f0cea 100644 --- a/tests/Interface/core/CMakeLists.txt +++ b/tests/Interface/core/CMakeLists.txt @@ -4,11 +4,14 @@ _add_test_executable(buddy-container-test if(BUDDY_ENABLE_OPENCV) find_package(OpenCV REQUIRED CONFIG) +find_package(JPEG REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) +include_directories(${JPEG_INCLUDE_DIRS}) _add_test_executable(buddy-image-container-test ImageContainerTest.cpp LINK_LIBS ${OpenCV_LIBS} + ${JPEG_LIBRARY} ) endif() From 661c8c7897de2b03df1b931c591d3f0f047d82d4 Mon Sep 17 00:00:00 2001 From: _Guan <643665808@qq.com> Date: Thu, 21 Sep 2023 15:44:48 +0800 Subject: [PATCH 2/8] [example] link jpeg library --- examples/DIPDialect/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/DIPDialect/CMakeLists.txt b/examples/DIPDialect/CMakeLists.txt index ea73e14a5a..5f5f9b0aa4 100644 --- a/examples/DIPDialect/CMakeLists.txt +++ b/examples/DIPDialect/CMakeLists.txt @@ -2,7 +2,7 @@ if(BUDDY_ENABLE_OPENCV) find_package(OpenCV REQUIRED CONFIG) find_package(JPEG REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) - include_directories(${OpenCV_INCLUDE_DIRS}) + include_directories(${JPEG_INCLUDE_DIRS}) endif() add_executable(correlation2D correlation2D.cpp) From 09ef5a7a230e7d4c44087c9edc4b1815ea146fee Mon Sep 17 00:00:00 2001 From: Guan-schoolmate Date: Mon, 25 Sep 2023 06:58:00 +0000 Subject: [PATCH 3/8] [DIP] Delete the type of write --- .../buddy/DIP/imgcodecs/grfmt_jpeg.h | 38 ------------------- .../buddy/DIP/imgcodecs/replenishment.h | 17 --------- 2 files changed, 55 deletions(-) diff --git a/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h b/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h index 38c3f75578..022790703c 100644 --- a/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h +++ b/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h @@ -664,44 +664,6 @@ bool JpegEncoder::write(Img &img, int luma_quality = -1; int chroma_quality = -1; - for (size_t i = 0; i < params.size(); i += 2) { - if (params[i] == IMWRITE_JPEG_QUALITY) { - quality = params[i + 1]; - quality = MIN(MAX(quality, 0), 100); - } - - if (params[i] == IMWRITE_JPEG_PROGRESSIVE) { - progressive = params[i + 1]; - } - - if (params[i] == IMWRITE_JPEG_OPTIMIZE) { - optimize = params[i + 1]; - } - - if (params[i] == IMWRITE_JPEG_LUMA_QUALITY) { - if (params[i + 1] >= 0) { - luma_quality = MIN(MAX(params[i + 1], 0), 100); - - quality = luma_quality; - - if (chroma_quality < 0) { - chroma_quality = luma_quality; - } - } - } - - if (params[i] == IMWRITE_JPEG_CHROMA_QUALITY) { - if (params[i + 1] >= 0) { - chroma_quality = MIN(MAX(params[i + 1], 0), 100); - } - } - - if (params[i] == IMWRITE_JPEG_RST_INTERVAL) { - rst_interval = params[i + 1]; - rst_interval = MIN(MAX(rst_interval, 0), 65535L); - } - } - jpeg_set_defaults(&cinfo); cinfo.restart_interval = rst_interval; diff --git a/frontend/Interfaces/buddy/DIP/imgcodecs/replenishment.h b/frontend/Interfaces/buddy/DIP/imgcodecs/replenishment.h index c396050398..2fd5cfe4b2 100644 --- a/frontend/Interfaces/buddy/DIP/imgcodecs/replenishment.h +++ b/frontend/Interfaces/buddy/DIP/imgcodecs/replenishment.h @@ -77,23 +77,6 @@ enum ImreadModes { IMGRD_ANYCOLOR = 4, }; -// Imwrite flags -enum ImwriteFlags { - // For JPEG, it can be a quality from 0 to 100 (the higher is the - // better). Default value is 95. - IMWRITE_JPEG_QUALITY = 1, - // Enable JPEG features, 0 or 1, default is False. - IMWRITE_JPEG_PROGRESSIVE = 2, - // Enable JPEG features, 0 or 1, default is False. - IMWRITE_JPEG_OPTIMIZE = 3, - // JPEG restart interval, 0 - 65535, default is 0 - no restart. - IMWRITE_JPEG_RST_INTERVAL = 4, - // Separate luma quality level, 0 - 100, default is 0 - don't use. - IMWRITE_JPEG_LUMA_QUALITY = 5, - // Separate chroma quality level, 0 - 100, default is 0 - don't use. - IMWRITE_JPEG_CHROMA_QUALITY = 6, -}; - class _Size { public: _Size(){}; From f7c2483a67604570607186a84d2af71d43a38666 Mon Sep 17 00:00:00 2001 From: Guan-schoolmate <643665808@qq.com> Date: Thu, 12 Oct 2023 09:10:44 +0800 Subject: [PATCH 4/8] Modify format --- .../buddy/DIP/imgcodecs/grfmt_jpeg.h | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h b/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h index 022790703c..c9ac1685ef 100644 --- a/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h +++ b/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h @@ -1,11 +1,10 @@ -//===- Grfmt_jpeg.h ---------------------------------------------------===// +//===-grfmt_jpeg.h ---------------------------------------------------===// // -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this -// license. If you do not agree to this license, do not download, install, copy -// or use the software. +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. // +// By downloading, copying, installing or using the software you agree to +// this license. If you do not agree to this license, do not download, +// install, copy or use the software. // // Intel License Agreement // For Open Source Computer Vision Library @@ -16,17 +15,17 @@ // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: // -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. // -// * Redistribution's in binary form must reproduce the above copyright -// notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. +// * Redistribution's in binary form must reproduce the above copyright +// notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. // -// * The name of Intel Corporation may not be used to endorse or promote -// products -// derived from this software without specific prior written permission. +// * The name of Intel Corporation may not be used to endorse or promote +// products +// derived from this software without specific prior written permission. // // This software is provided by the copyright holders and contributors "as is" // and any express or implied warranties, including, but not limited to, the @@ -41,11 +40,12 @@ // possibility of such damage. // // -//===----------------------------------------------------------------------===// +//----------------------------------------------------------------------// // -// This file is modified from opencv's modules/imgcodecs/src/grfmt_jpeg.hpp file +// This file is modified from opencv's +// modules/imgcodecs/src/grfmt_jpeg.hpp file // -//===----------------------------------------------------------------------===// +//----------------------------------------------------------------------// #ifndef _GRFMT_JPEG_H_ #define _GRFMT_JPEG_H_ From ff55e32db71afcabae8ee6b2c738d359cb6f93c2 Mon Sep 17 00:00:00 2001 From: Guan-schoolmate <643665808@qq.com> Date: Thu, 12 Oct 2023 15:34:24 +0800 Subject: [PATCH 5/8] Modify format and Add jpeg test --- .../buddy/DIP/imgcodecs/grfmt_bmp.h | 36 +++++++++--------- .../buddy/DIP/imgcodecs/grfmt_jpeg.h | 8 ++-- tests/Interface/core/ImageContainerTest.cpp | 2 +- tests/Interface/core/TestGrayImage.jpg | Bin 0 -> 363 bytes 4 files changed, 23 insertions(+), 23 deletions(-) create mode 100644 tests/Interface/core/TestGrayImage.jpg diff --git a/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_bmp.h b/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_bmp.h index 53b7400f8c..91b642602f 100644 --- a/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_bmp.h +++ b/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_bmp.h @@ -1,11 +1,10 @@ -//===- Grfmt_bmp.h ---------------------------------------------------===// +//===-----------------------grfmt_bmp.h----------------------------===// // -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this -// license. If you do not agree to this license, do not download, install, copy -// or use the software. +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. // +// By downloading, copying, installing or using the software you agree to +// this license. If you do not agree to this license, do not download, +// install, copy or use the software. // // Intel License Agreement // For Open Source Computer Vision Library @@ -16,17 +15,17 @@ // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: // -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. // -// * Redistribution's in binary form must reproduce the above copyright -// notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. +// * Redistribution's in binary form must reproduce the above copyright +// notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. // -// * The name of Intel Corporation may not be used to endorse or promote -// products -// derived from this software without specific prior written permission. +// * The name of Intel Corporation may not be used to endorse or promote +// products +// derived from this software without specific prior written permission. // // This software is provided by the copyright holders and contributors "as is" // and any express or implied warranties, including, but not limited to, the @@ -41,11 +40,12 @@ // possibility of such damage. // // -//===----------------------------------------------------------------------===// +//----------------------------------------------------------------------// // -// This file is modified from opencv's modules/imgcodecs/src/grfmt_bmp.hpp file +// This file is modified from opencv's +// modules/imgcodecs/src/grfmt_bmp.hpp file // -//===----------------------------------------------------------------------===// +//----------------------------------------------------------------------// #ifndef _GRFMT_BMP_H_ #define _GRFMT_BMP_H_ diff --git a/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h b/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h index c9ac1685ef..e9ac91438d 100644 --- a/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h +++ b/frontend/Interfaces/buddy/DIP/imgcodecs/grfmt_jpeg.h @@ -1,9 +1,9 @@ -//===-grfmt_jpeg.h ---------------------------------------------------===// +//===-----------------------grfmt_jpeg.h----------------------------===// // // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. // -// By downloading, copying, installing or using the software you agree to -// this license. If you do not agree to this license, do not download, +// By downloading, copying, installing or using the software you agree to +// this license. If you do not agree to this license, do not download, // install, copy or use the software. // // Intel License Agreement @@ -42,7 +42,7 @@ // //----------------------------------------------------------------------// // -// This file is modified from opencv's +// This file is modified from opencv's // modules/imgcodecs/src/grfmt_jpeg.hpp file // //----------------------------------------------------------------------// diff --git a/tests/Interface/core/ImageContainerTest.cpp b/tests/Interface/core/ImageContainerTest.cpp index 930a55072e..a059d3f9bb 100644 --- a/tests/Interface/core/ImageContainerTest.cpp +++ b/tests/Interface/core/ImageContainerTest.cpp @@ -34,7 +34,7 @@ int main() { // The test running directory is in /tests/Interface/core, so the // `imread` function uses the following relative path. Img grayimage = dip::imread( - "../../../../tests/Interface/core/TestGrayImage.bmp", + "../../../../tests/Interface/core/TestGrayImage.jpg", dip::IMGRD_GRAYSCALE); //===--------------------------------------------------------------------===// // Test image constructor for OpenCV. diff --git a/tests/Interface/core/TestGrayImage.jpg b/tests/Interface/core/TestGrayImage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e387a2a361d53c3f029fe611fce13ce4e3480ab GIT binary patch literal 363 zcmex=|HF0u@iAzXIsj8`KXlj|5nweWzS~We&gn?hmRgVdHU@6i$mSee*XG@i-7|a tZ1xO)_x(`*&%omOpP{MpKf|Ft7ymOnx=>&JFRtYL&!_Bv9kc)61OS4)bt(V= literal 0 HcmV?d00001 From 0318e6630d254fe3c1b36840d20feb89d079695c Mon Sep 17 00:00:00 2001 From: Guan-schoolmate <643665808@qq.com> Date: Sat, 14 Oct 2023 15:42:56 +0800 Subject: [PATCH 6/8] Testing bmp and jpeg images in ImageContainerTest.cpp, binding libjpeg, libpng, and BuddyLibDIP together to form DIP_LIBS --- examples/DIPDialect/CMakeLists.txt | 19 +-- tests/Interface/core/CMakeLists.txt | 15 ++- tests/Interface/core/ImageContainerTest.cpp | 137 ++++++++++++++++---- 3 files changed, 133 insertions(+), 38 deletions(-) diff --git a/examples/DIPDialect/CMakeLists.txt b/examples/DIPDialect/CMakeLists.txt index 5f5f9b0aa4..441652a63e 100644 --- a/examples/DIPDialect/CMakeLists.txt +++ b/examples/DIPDialect/CMakeLists.txt @@ -1,27 +1,30 @@ if(BUDDY_ENABLE_OPENCV) find_package(OpenCV REQUIRED CONFIG) - find_package(JPEG REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) - include_directories(${JPEG_INCLUDE_DIRS}) endif() +find_package(JPEG REQUIRED) +find_package(PNG REQUIRED) +add_library(DIP_LIBS INTERFACE) +target_link_libraries(DIP_LIBS INTERFACE ${JPEG_LIBRARY} ${PNG_LIBRARY} BuddyLibDIP) + add_executable(correlation2D correlation2D.cpp) -target_link_libraries(correlation2D ${OpenCV_LIBS} BuddyLibDIP) +target_link_libraries(correlation2D ${OpenCV_LIBS} DIP_LIBS) add_executable(correlationFFT2D correlationFFT2D.cpp) -target_link_libraries(correlationFFT2D ${OpenCV_LIBS} BuddyLibDIP) +target_link_libraries(correlationFFT2D ${OpenCV_LIBS} DIP_LIBS) add_executable(rotation2D rotation2D.cpp) -target_link_libraries(rotation2D ${OpenCV_LIBS} ${JPEG_LIBRARY} BuddyLibDIP) +target_link_libraries(rotation2D ${OpenCV_LIBS} DIP_LIBS) add_executable(resize2D resize2D.cpp) -target_link_libraries(resize2D ${OpenCV_LIBS} ${JPEG_LIBRARY} BuddyLibDIP) +target_link_libraries(resize2D ${OpenCV_LIBS} DIP_LIBS) add_executable(morph2D morph2D.cpp) -target_link_libraries(morph2D ${OpenCV_LIBS} BuddyLibDIP) +target_link_libraries(morph2D ${OpenCV_LIBS} DIP_LIBS) add_executable(dip-all DIPAll.cpp) -target_link_libraries(dip-all ${OpenCV_LIBS} BuddyLibDIP) +target_link_libraries(dip-all ${OpenCV_LIBS} DIP_LIBS) add_executable(opencv-all OpenCVAll.cpp) target_link_libraries(opencv-all ${OpenCV_LIBS}) diff --git a/tests/Interface/core/CMakeLists.txt b/tests/Interface/core/CMakeLists.txt index bc9b2f0cea..937e66393c 100644 --- a/tests/Interface/core/CMakeLists.txt +++ b/tests/Interface/core/CMakeLists.txt @@ -3,17 +3,22 @@ _add_test_executable(buddy-container-test ) if(BUDDY_ENABLE_OPENCV) -find_package(OpenCV REQUIRED CONFIG) + find_package(OpenCV REQUIRED CONFIG) + include_directories(${OpenCV_INCLUDE_DIRS}) +endif() + find_package(JPEG REQUIRED) -include_directories(${OpenCV_INCLUDE_DIRS}) -include_directories(${JPEG_INCLUDE_DIRS}) +find_package(PNG REQUIRED) +add_library(DIP_LIB INTERFACE) +target_link_libraries(DIP_LIB INTERFACE ${JPEG_LIBRARY} ${PNG_LIBRARY}) + _add_test_executable(buddy-image-container-test ImageContainerTest.cpp LINK_LIBS ${OpenCV_LIBS} - ${JPEG_LIBRARY} + DIP_LIB ) -endif() + _add_test_executable(buddy-audio-container-test AudioContainerTest.cpp diff --git a/tests/Interface/core/ImageContainerTest.cpp b/tests/Interface/core/ImageContainerTest.cpp index a059d3f9bb..d3735a1b8e 100644 --- a/tests/Interface/core/ImageContainerTest.cpp +++ b/tests/Interface/core/ImageContainerTest.cpp @@ -33,32 +33,18 @@ int main() { // 195.0, 210.0, 225.0, 240.0 // The test running directory is in /tests/Interface/core, so the // `imread` function uses the following relative path. - Img grayimage = dip::imread( - "../../../../tests/Interface/core/TestGrayImage.jpg", - dip::IMGRD_GRAYSCALE); + //===--------------------------------------------------------------------===// - // Test image constructor for OpenCV. + // Test bmp format image. //===--------------------------------------------------------------------===// - Img testOpenCVConstructor(grayimage); - // CHECK: 15.0 - fprintf(stderr, "%f\n", testOpenCVConstructor.getData()[0]); - // CHECK: 4, 4 - fprintf(stderr, "%ld, %ld\n", testOpenCVConstructor.getSizes()[0], - testOpenCVConstructor.getSizes()[1]); - // CHECK: 4, 1 - fprintf(stderr, "%ld, %ld\n", testOpenCVConstructor.getStrides()[0], - testOpenCVConstructor.getStrides()[1]); - // CHECK: 2 - fprintf(stderr, "%ld\n", testOpenCVConstructor.getRank()); - // CHECK: 16 - fprintf(stderr, "%ld\n", testOpenCVConstructor.getSize()); - // CHECK: 60.0 - fprintf(stderr, "%f\n", testOpenCVConstructor[3]); + Img grayimage_bmp = dip::imread( + "../../../../tests/Interface/core/TestGrayImage.bmp", + dip::IMGRD_GRAYSCALE); //===--------------------------------------------------------------------===// // Test copy constructor. //===--------------------------------------------------------------------===// - Img testCopyConstructor1(testOpenCVConstructor); + Img testCopyConstructor1(grayimage_bmp); // CHECK: 15.0 fprintf(stderr, "%f\n", testCopyConstructor1[0]); // CHECK: 4, 4 @@ -74,7 +60,7 @@ int main() { // CHECK: 60.0 fprintf(stderr, "%f\n", testCopyConstructor1[3]); - Img testCopyConstructor2 = testOpenCVConstructor; + Img testCopyConstructor2 = grayimage_bmp; // CHECK: 15.0 fprintf(stderr, "%f\n", testCopyConstructor2[0]); // CHECK: 4, 4 @@ -90,11 +76,11 @@ int main() { // CHECK: 60.0 fprintf(stderr, "%f\n", testCopyConstructor2[3]); Img testCopyConstructor3 = - Img(testOpenCVConstructor); + Img(grayimage_bmp); // CHECK: 15.0 fprintf(stderr, "%f\n", testCopyConstructor3[0]); Img *testCopyConstructor4 = - new Img(testOpenCVConstructor); + new Img(grayimage_bmp); // CHECK: 15.0 fprintf(stderr, "%f\n", testCopyConstructor4->getData()[0]); delete testCopyConstructor4; @@ -133,18 +119,119 @@ int main() { fprintf(stderr, "%ld\n", testMoveConstructor2.getSize()); // CHECK: 60.0 fprintf(stderr, "%f\n", testMoveConstructor2[3]); + //===--------------------------------------------------------------------===// // Test overloading bracket operator. //===--------------------------------------------------------------------===// - Img testBracketOperator1(grayimage); + Img testBracketOperator1(grayimage_bmp); // CHECK: 240.0 fprintf(stderr, "%f\n", testBracketOperator1[15]); testBracketOperator1[15] = 90.0; // CHECK: 90.0 fprintf(stderr, "%f\n", testBracketOperator1[15]); - const Img testBracketOperator2(grayimage); + const Img testBracketOperator2(grayimage_bmp); // CHECK: 240.0 fprintf(stderr, "%f\n", testBracketOperator2[15]); + + //===--------------------------------------------------------------------===// + // Test jpeg format image. + //===--------------------------------------------------------------------===// + Img grayimage_jpg = dip::imread( + "../../../../tests/Interface/core/TestGrayImage.jpg", + dip::IMGRD_GRAYSCALE); + + //===--------------------------------------------------------------------===// + // Test copy constructor. + //===--------------------------------------------------------------------===// + Img testCopyConstructor5(grayimage_jpg); + // CHECK: 15.0 + fprintf(stderr, "%f\n", testCopyConstructor5[0]); + // CHECK: 4, 4 + fprintf(stderr, "%ld, %ld\n", testCopyConstructor5.getSizes()[0], + testCopyConstructor5.getSizes()[1]); + // CHECK: 4, 1 + fprintf(stderr, "%ld, %ld\n", testCopyConstructor5.getStrides()[0], + testCopyConstructor5.getStrides()[1]); + // CHECK: 2 + fprintf(stderr, "%ld\n", testCopyConstructor5.getRank()); + // CHECK: 16 + fprintf(stderr, "%ld\n", testCopyConstructor5.getSize()); + // CHECK: 60.0 + fprintf(stderr, "%f\n", testCopyConstructor5[3]); + + Img testCopyConstructor6 = grayimage_jpg; + // CHECK: 15.0 + fprintf(stderr, "%f\n", testCopyConstructor6[0]); + // CHECK: 4, 4 + fprintf(stderr, "%ld, %ld\n", testCopyConstructor6.getSizes()[0], + testCopyConstructor6.getSizes()[1]); + // CHECK: 4, 1 + fprintf(stderr, "%ld, %ld\n", testCopyConstructor6.getStrides()[0], + testCopyConstructor6.getStrides()[1]); + // CHECK: 2 + fprintf(stderr, "%ld\n", testCopyConstructor6.getRank()); + // CHECK: 16 + fprintf(stderr, "%ld\n", testCopyConstructor6.getSize()); + // CHECK: 60.0 + fprintf(stderr, "%f\n", testCopyConstructor6[3]); + Img testCopyConstructor7 = + Img(grayimage_jpg); + // CHECK: 15.0 + fprintf(stderr, "%f\n", testCopyConstructor7[0]); + Img *testCopyConstructor8 = + new Img(grayimage_jpg); + // CHECK: 15.0 + fprintf(stderr, "%f\n", testCopyConstructor8->getData()[0]); + delete testCopyConstructor8; + + //===--------------------------------------------------------------------===// + // Test move constructor. + //===--------------------------------------------------------------------===// + Img testMoveConstructor3(std::move(testCopyConstructor1)); + // CHECK: 15.0 + fprintf(stderr, "%f\n", testMoveConstructor3[0]); + // CHECK: 4, 4 + fprintf(stderr, "%ld, %ld\n", testMoveConstructor3.getSizes()[0], + testMoveConstructor3.getSizes()[1]); + // CHECK: 4, 1 + fprintf(stderr, "%ld, %ld\n", testMoveConstructor3.getStrides()[0], + testMoveConstructor3.getStrides()[1]); + // CHECK: 2 + fprintf(stderr, "%ld\n", testMoveConstructor3.getRank()); + // CHECK: 16 + fprintf(stderr, "%ld\n", testMoveConstructor3.getSize()); + // CHECK: 60.0 + fprintf(stderr, "%f\n", testMoveConstructor3[3]); + + Img testMoveConstructor4 = std::move(testMoveConstructor1); + // CHECK: 15.0 + fprintf(stderr, "%f\n", testMoveConstructor4[0]); + // CHECK: 4, 4 + fprintf(stderr, "%ld, %ld\n", testMoveConstructor4.getSizes()[0], + testMoveConstructor4.getSizes()[1]); + // CHECK: 4, 1 + fprintf(stderr, "%ld, %ld\n", testMoveConstructor4.getStrides()[0], + testMoveConstructor4.getStrides()[1]); + // CHECK: 2 + fprintf(stderr, "%ld\n", testMoveConstructor4.getRank()); + // CHECK: 16 + fprintf(stderr, "%ld\n", testMoveConstructor4.getSize()); + // CHECK: 60.0 + fprintf(stderr, "%f\n", testMoveConstructor4[3]); + + //===--------------------------------------------------------------------===// + // Test overloading bracket operator. + //===--------------------------------------------------------------------===// + Img testBracketOperator3(grayimage_jpg); + // CHECK: 240.0 + fprintf(stderr, "%f\n", testBracketOperator3[15]); + testBracketOperator3[15] = 90.0; + // CHECK: 90.0 + fprintf(stderr, "%f\n", testBracketOperator3[15]); + const Img testBracketOperator4(grayimage_jpg); + // CHECK: 240.0 + fprintf(stderr, "%f\n", testBracketOperator4[15]); + return 0; } From 671fd481d4c13d2ab8ddb7867b1b8a36f1e54db1 Mon Sep 17 00:00:00 2001 From: Guan-schoolmate <643665808@qq.com> Date: Wed, 18 Oct 2023 13:46:59 +0800 Subject: [PATCH 7/8] Modify the logic for finding dip lib --- CMakeLists.txt | 7 +++++++ examples/DIPDialect/CMakeLists.txt | 2 -- tests/Interface/core/CMakeLists.txt | 3 --- tests/Interface/core/ImageContainerTest.cpp | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0678c0f92a..6b2c980128 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -124,6 +124,13 @@ include(AddLLVM) include(AddMLIR) include(HandleLLVMOptions) +#------------------------------------------------------------------------------- +# Dip lib configuration +#------------------------------------------------------------------------------- + +find_package(JPEG REQUIRED) +find_package(PNG REQUIRED) + #------------------------------------------------------------------------------- # Hardware detection #------------------------------------------------------------------------------- diff --git a/examples/DIPDialect/CMakeLists.txt b/examples/DIPDialect/CMakeLists.txt index 441652a63e..9b34013e92 100644 --- a/examples/DIPDialect/CMakeLists.txt +++ b/examples/DIPDialect/CMakeLists.txt @@ -3,8 +3,6 @@ if(BUDDY_ENABLE_OPENCV) include_directories(${OpenCV_INCLUDE_DIRS}) endif() -find_package(JPEG REQUIRED) -find_package(PNG REQUIRED) add_library(DIP_LIBS INTERFACE) target_link_libraries(DIP_LIBS INTERFACE ${JPEG_LIBRARY} ${PNG_LIBRARY} BuddyLibDIP) diff --git a/tests/Interface/core/CMakeLists.txt b/tests/Interface/core/CMakeLists.txt index 937e66393c..83cceb5c89 100644 --- a/tests/Interface/core/CMakeLists.txt +++ b/tests/Interface/core/CMakeLists.txt @@ -7,8 +7,6 @@ if(BUDDY_ENABLE_OPENCV) include_directories(${OpenCV_INCLUDE_DIRS}) endif() -find_package(JPEG REQUIRED) -find_package(PNG REQUIRED) add_library(DIP_LIB INTERFACE) target_link_libraries(DIP_LIB INTERFACE ${JPEG_LIBRARY} ${PNG_LIBRARY}) @@ -19,7 +17,6 @@ _add_test_executable(buddy-image-container-test DIP_LIB ) - _add_test_executable(buddy-audio-container-test AudioContainerTest.cpp ) diff --git a/tests/Interface/core/ImageContainerTest.cpp b/tests/Interface/core/ImageContainerTest.cpp index d3735a1b8e..2f257e7f12 100644 --- a/tests/Interface/core/ImageContainerTest.cpp +++ b/tests/Interface/core/ImageContainerTest.cpp @@ -188,7 +188,7 @@ int main() { //===--------------------------------------------------------------------===// // Test move constructor. //===--------------------------------------------------------------------===// - Img testMoveConstructor3(std::move(testCopyConstructor1)); + Img testMoveConstructor3(std::move(testCopyConstructor5)); // CHECK: 15.0 fprintf(stderr, "%f\n", testMoveConstructor3[0]); // CHECK: 4, 4 From 12fd983ee265e3cd528511fad99bd37d96c95291 Mon Sep 17 00:00:00 2001 From: Guan-schoolmate <643665808@qq.com> Date: Fri, 20 Oct 2023 22:00:19 +0800 Subject: [PATCH 8/8] change the dip lib link mode --- examples/DIPDialect/CMakeLists.txt | 15 +++++++-------- tests/Interface/core/CMakeLists.txt | 5 ++--- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/examples/DIPDialect/CMakeLists.txt b/examples/DIPDialect/CMakeLists.txt index 9b34013e92..1f1b1f0ca5 100644 --- a/examples/DIPDialect/CMakeLists.txt +++ b/examples/DIPDialect/CMakeLists.txt @@ -3,26 +3,25 @@ if(BUDDY_ENABLE_OPENCV) include_directories(${OpenCV_INCLUDE_DIRS}) endif() -add_library(DIP_LIBS INTERFACE) -target_link_libraries(DIP_LIBS INTERFACE ${JPEG_LIBRARY} ${PNG_LIBRARY} BuddyLibDIP) +set(DIP_LIBS ${JPEG_LIBRARY} ${PNG_LIBRARY} BuddyLibDIP) add_executable(correlation2D correlation2D.cpp) -target_link_libraries(correlation2D ${OpenCV_LIBS} DIP_LIBS) +target_link_libraries(correlation2D ${OpenCV_LIBS} ${DIP_LIBS}) add_executable(correlationFFT2D correlationFFT2D.cpp) -target_link_libraries(correlationFFT2D ${OpenCV_LIBS} DIP_LIBS) +target_link_libraries(correlationFFT2D ${OpenCV_LIBS} ${DIP_LIBS}) add_executable(rotation2D rotation2D.cpp) -target_link_libraries(rotation2D ${OpenCV_LIBS} DIP_LIBS) +target_link_libraries(rotation2D ${OpenCV_LIBS} ${DIP_LIBS}) add_executable(resize2D resize2D.cpp) -target_link_libraries(resize2D ${OpenCV_LIBS} DIP_LIBS) +target_link_libraries(resize2D ${OpenCV_LIBS} ${DIP_LIBS}) add_executable(morph2D morph2D.cpp) -target_link_libraries(morph2D ${OpenCV_LIBS} DIP_LIBS) +target_link_libraries(morph2D ${OpenCV_LIBS} ${DIP_LIBS}) add_executable(dip-all DIPAll.cpp) -target_link_libraries(dip-all ${OpenCV_LIBS} DIP_LIBS) +target_link_libraries(dip-all ${OpenCV_LIBS} ${DIP_LIBS}) add_executable(opencv-all OpenCVAll.cpp) target_link_libraries(opencv-all ${OpenCV_LIBS}) diff --git a/tests/Interface/core/CMakeLists.txt b/tests/Interface/core/CMakeLists.txt index 83cceb5c89..1475f13d89 100644 --- a/tests/Interface/core/CMakeLists.txt +++ b/tests/Interface/core/CMakeLists.txt @@ -7,14 +7,13 @@ if(BUDDY_ENABLE_OPENCV) include_directories(${OpenCV_INCLUDE_DIRS}) endif() -add_library(DIP_LIB INTERFACE) -target_link_libraries(DIP_LIB INTERFACE ${JPEG_LIBRARY} ${PNG_LIBRARY}) +set(DIP_LIBS ${JPEG_LIBRARY} ${PNG_LIBRARY}) _add_test_executable(buddy-image-container-test ImageContainerTest.cpp LINK_LIBS ${OpenCV_LIBS} - DIP_LIB + ${DIP_LIBS} ) _add_test_executable(buddy-audio-container-test