But they are different! As the source code show, the “encodeJpg()” use 100% quality and YUV444 chroma as default, but cv2 use 95% quality and YUV420 chroma as default.
If you want to write a JPEG file just as “encodeJpg()” do by using python, the code snippet should be:
import cv2
...
params = [cv2.IMWRITE_JPEG_QUALITY, 100, cv2.IMWRITE_JPEG_SAMPLING_FACTOR, cv2.IMWRITE_JPEG_SAMPLING_FACTOR_444]
success, encoded_image = cv2.imencode(".jpg", output_image, params)
if success:
with open(output_path, "wb") as fp:
fp.write(encoded_image)