mirror of
https://github.com/opencv/opencv.git
synced 2024-12-15 18:09:11 +08:00
afb91b552e
Add imread #24415 ### Pull Request Readiness Checklist See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [X] I agree to contribute to the project under Apache 2 License. - [X] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [X] The PR is proposed to the proper branch - [ ] There is a reference to the original bug report and related work - [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable Patch to opencv_extra has the same branch name. - [x] The feature is well documented and sample code can be built with the project CMake Hello everyone, I created this new version of the imread function and I think it can be very useful in several cases. It is actually passed to it object on which you want to upload the image. The advantages can be different like in case one needs to open several large images all the same in sequence. one can use the same pointer and the system would not allocate memory each time.
39 lines
963 B
Python
39 lines
963 B
Python
from tests_common import NewOpenCVTests, unittest
|
|
import cv2 as cv
|
|
import os
|
|
|
|
|
|
def import_path():
|
|
import sys
|
|
if sys.version_info[0] < 3 or sys.version_info[1] < 6:
|
|
raise unittest.SkipTest('Python 3.6+ required')
|
|
|
|
from pathlib import Path
|
|
return Path
|
|
|
|
|
|
class CanPassPathLike(NewOpenCVTests):
|
|
def test_pathlib_path(self):
|
|
Path = import_path()
|
|
|
|
img_path = self.find_file('cv/imgproc/stuff.jpg', [os.environ.get('OPENCV_TEST_DATA_PATH')])
|
|
|
|
image_from_str = cv.imread(img_path)
|
|
self.assertIsNotNone(image_from_str)
|
|
|
|
image_from_path = cv.imread(Path(img_path))
|
|
self.assertIsNotNone(image_from_path)
|
|
|
|
|
|
def test_type_mismatch(self):
|
|
import_path() # checks python version
|
|
|
|
with self.assertRaises(cv.error) as context:
|
|
cv.imread(123)
|
|
|
|
self.assertTrue('str or path-like' in str(context.exception))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
NewOpenCVTests.bootstrap()
|