Merge pull request #23108 from crackwitz:issue-23107

Usage of imread(): magic number 0, unchecked result

* docs: rewrite 0/1 to IMREAD_GRAYSCALE/IMREAD_COLOR in imread()

* samples, apps: rewrite 0/1 to IMREAD_GRAYSCALE/IMREAD_COLOR in imread()

* tests: rewrite 0/1 to IMREAD_GRAYSCALE/IMREAD_COLOR in imread()

* doc/py_tutorials: check imread() result
pull/23111/head
Christoph Rackwitz 2 years ago committed by GitHub
parent 7b7774476e
commit a64b51dd94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      apps/traincascade/imagestorage.cpp
  2. 4
      doc/py_tutorials/py_calib3d/py_depthmap/py_depthmap.markdown
  3. 4
      doc/py_tutorials/py_calib3d/py_epipolar_geometry/py_epipolar_geometry.markdown
  4. 2
      doc/py_tutorials/py_core/py_basic_ops/py_basic_ops.markdown
  5. 4
      doc/py_tutorials/py_core/py_image_arithmetics/py_image_arithmetics.markdown
  6. 1
      doc/py_tutorials/py_core/py_optimization/py_optimization.markdown
  7. 2
      doc/py_tutorials/py_feature2d/py_brief/py_brief.markdown
  8. 2
      doc/py_tutorials/py_feature2d/py_fast/py_fast.markdown
  9. 4
      doc/py_tutorials/py_feature2d/py_feature_homography/py_feature_homography.markdown
  10. 2
      doc/py_tutorials/py_feature2d/py_orb/py_orb.markdown
  11. 2
      doc/py_tutorials/py_feature2d/py_surf_intro/py_surf_intro.markdown
  12. 3
      doc/py_tutorials/py_imgproc/py_canny/py_canny.markdown
  13. 3
      doc/py_tutorials/py_imgproc/py_contours/py_contour_features/py_contour_features.markdown
  14. 1
      doc/py_tutorials/py_imgproc/py_contours/py_contours_begin/py_contours_begin.markdown
  15. 7
      doc/py_tutorials/py_imgproc/py_contours/py_contours_more_functions/py_contours_more_functions.markdown
  16. 2
      doc/py_tutorials/py_imgproc/py_filtering/py_filtering.markdown
  17. 9
      doc/py_tutorials/py_imgproc/py_geometric_transformations/py_geometric_transformations.markdown
  18. 4
      doc/py_tutorials/py_imgproc/py_grabcut/py_grabcut.markdown
  19. 6
      doc/py_tutorials/py_imgproc/py_gradients/py_gradients.markdown
  20. 3
      doc/py_tutorials/py_imgproc/py_histograms/py_2d_histogram/py_2d_histogram.markdown
  21. 4
      doc/py_tutorials/py_imgproc/py_histograms/py_histogram_backprojection/py_histogram_backprojection.markdown
  22. 10
      doc/py_tutorials/py_imgproc/py_histograms/py_histogram_begins/py_histogram_begins.markdown
  23. 9
      doc/py_tutorials/py_imgproc/py_histograms/py_histogram_equalization/py_histogram_equalization.markdown
  24. 3
      doc/py_tutorials/py_imgproc/py_houghcircles/py_houghcircles.markdown
  25. 3
      doc/py_tutorials/py_imgproc/py_morphological_ops/py_morphological_ops.markdown
  26. 3
      doc/py_tutorials/py_imgproc/py_pyramids/py_pyramids.markdown
  27. 10
      doc/py_tutorials/py_imgproc/py_template_matching/py_template_matching.markdown
  28. 12
      doc/py_tutorials/py_imgproc/py_thresholding/py_thresholding.markdown
  29. 9
      doc/py_tutorials/py_imgproc/py_transforms/py_fourier_transform/py_fourier_transform.markdown
  30. 1
      doc/py_tutorials/py_imgproc/py_watershed/py_watershed.markdown
  31. 2
      doc/py_tutorials/py_photo/py_inpainting/py_inpainting.markdown
  32. 2
      doc/tutorials/introduction/linux_eclipse/linux_eclipse.markdown
  33. 2
      doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown
  34. 2
      modules/calib3d/test/test_chesscorners.cpp
  35. 12
      modules/calib3d/test/test_stereomatching.cpp
  36. 4
      modules/features2d/test/test_descriptors_regression.cpp
  37. 2
      modules/imgcodecs/misc/java/test/ImgcodecsTest.java
  38. 2
      modules/imgproc/test/test_connectedcomponents.cpp
  39. 2
      modules/imgproc/test/test_imgproc_umat.cpp
  40. 2
      modules/imgproc/test/test_watershed.cpp
  41. 2
      modules/java/test/android_test/src/org/opencv/test/OpenCVTestCase.java
  42. 2
      modules/java/test/pure_test/src/org/opencv/test/OpenCVTestCase.java
  43. 2
      modules/objdetect/test/test_cascadeandhog.cpp
  44. 2
      modules/photo/test/test_denoising.cpp
  45. 2
      modules/videoio/test/test_ffmpeg.cpp
  46. 4
      samples/cpp/3calibration.cpp
  47. 4
      samples/cpp/calibration.cpp
  48. 2
      samples/cpp/facedetect.cpp
  49. 2
      samples/cpp/pca.cpp
  50. 4
      samples/cpp/stereo_calib.cpp
  51. 2
      samples/cpp/tutorial_code/snippets/imgproc_HoughLinesCircles.cpp
  52. 2
      samples/cpp/tutorial_code/snippets/imgproc_HoughLinesP.cpp
  53. 2
      samples/cpp/tutorial_code/snippets/imgproc_calcHist.cpp
  54. 2
      samples/cpp/tutorial_code/snippets/imgproc_drawContours.cpp
  55. 2
      samples/cpp/watershed.cpp
  56. 2
      samples/python/calibrate.py
  57. 2
      samples/python/mouse_and_match.py

@ -54,7 +54,7 @@ bool CvCascadeImageReader::NegReader::nextImg()
size_t count = imgFilenames.size(); size_t count = imgFilenames.size();
for( size_t i = 0; i < count; i++ ) for( size_t i = 0; i < count; i++ )
{ {
src = imread( imgFilenames[last++], 0 ); src = imread( imgFilenames[last++], IMREAD_GRAYSCALE );
if( src.empty() ){ if( src.empty() ){
last %= count; last %= count;
continue; continue;

@ -41,8 +41,8 @@ import numpy as np
import cv2 as cv import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
imgL = cv.imread('tsukuba_l.png',0) imgL = cv.imread('tsukuba_l.png', cv.IMREAD_GRAYSCALE)
imgR = cv.imread('tsukuba_r.png',0) imgR = cv.imread('tsukuba_r.png', cv.IMREAD_GRAYSCALE)
stereo = cv.StereoBM_create(numDisparities=16, blockSize=15) stereo = cv.StereoBM_create(numDisparities=16, blockSize=15)
disparity = stereo.compute(imgL,imgR) disparity = stereo.compute(imgL,imgR)

@ -76,8 +76,8 @@ import numpy as np
import cv2 as cv import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img1 = cv.imread('myleft.jpg',0) #queryimage # left image img1 = cv.imread('myleft.jpg', cv.IMREAD_GRAYSCALE) #queryimage # left image
img2 = cv.imread('myright.jpg',0) #trainimage # right image img2 = cv.imread('myright.jpg', cv.IMREAD_GRAYSCALE) #trainimage # right image
sift = cv.SIFT_create() sift = cv.SIFT_create()

@ -25,6 +25,7 @@ Let's load a color image first:
>>> import cv2 as cv >>> import cv2 as cv
>>> img = cv.imread('messi5.jpg') >>> img = cv.imread('messi5.jpg')
>>> assert img is not None, "file could not be read, check with os.path.exists()"
@endcode @endcode
You can access a pixel value by its row and column coordinates. For BGR image, it returns an array You can access a pixel value by its row and column coordinates. For BGR image, it returns an array
of Blue, Green, Red values. For grayscale image, just corresponding intensity is returned. of Blue, Green, Red values. For grayscale image, just corresponding intensity is returned.
@ -173,6 +174,7 @@ from matplotlib import pyplot as plt
BLUE = [255,0,0] BLUE = [255,0,0]
img1 = cv.imread('opencv-logo.png') img1 = cv.imread('opencv-logo.png')
assert img1 is not None, "file could not be read, check with os.path.exists()"
replicate = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REPLICATE) replicate = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REPLICATE)
reflect = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REFLECT) reflect = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REFLECT)

@ -50,6 +50,8 @@ Here \f$\gamma\f$ is taken as zero.
@code{.py} @code{.py}
img1 = cv.imread('ml.png') img1 = cv.imread('ml.png')
img2 = cv.imread('opencv-logo.png') img2 = cv.imread('opencv-logo.png')
assert img1 is not None, "file could not be read, check with os.path.exists()"
assert img2 is not None, "file could not be read, check with os.path.exists()"
dst = cv.addWeighted(img1,0.7,img2,0.3,0) dst = cv.addWeighted(img1,0.7,img2,0.3,0)
@ -76,6 +78,8 @@ bitwise operations as shown below:
# Load two images # Load two images
img1 = cv.imread('messi5.jpg') img1 = cv.imread('messi5.jpg')
img2 = cv.imread('opencv-logo-white.png') img2 = cv.imread('opencv-logo-white.png')
assert img1 is not None, "file could not be read, check with os.path.exists()"
assert img2 is not None, "file could not be read, check with os.path.exists()"
# I want to put logo on top-left corner, So I create a ROI # I want to put logo on top-left corner, So I create a ROI
rows,cols,channels = img2.shape rows,cols,channels = img2.shape

@ -37,6 +37,7 @@ of odd sizes ranging from 5 to 49. (Don't worry about what the result will look
goal): goal):
@code{.py} @code{.py}
img1 = cv.imread('messi5.jpg') img1 = cv.imread('messi5.jpg')
assert img1 is not None, "file could not be read, check with os.path.exists()"
e1 = cv.getTickCount() e1 = cv.getTickCount()
for i in range(5,49,2): for i in range(5,49,2):

@ -63,7 +63,7 @@ import numpy as np
import cv2 as cv import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('simple.jpg',0) img = cv.imread('simple.jpg', cv.IMREAD_GRAYSCALE)
# Initiate FAST detector # Initiate FAST detector
star = cv.xfeatures2d.StarDetector_create() star = cv.xfeatures2d.StarDetector_create()

@ -98,7 +98,7 @@ import numpy as np
import cv2 as cv import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('blox.jpg',0) # `<opencv_root>/samples/data/blox.jpg` img = cv.imread('blox.jpg', cv.IMREAD_GRAYSCALE) # `<opencv_root>/samples/data/blox.jpg`
# Initiate FAST object with default values # Initiate FAST object with default values
fast = cv.FastFeatureDetector_create() fast = cv.FastFeatureDetector_create()

@ -40,8 +40,8 @@ from matplotlib import pyplot as plt
MIN_MATCH_COUNT = 10 MIN_MATCH_COUNT = 10
img1 = cv.imread('box.png',0) # queryImage img1 = cv.imread('box.png', cv.IMREAD_GRAYSCALE) # queryImage
img2 = cv.imread('box_in_scene.png',0) # trainImage img2 = cv.imread('box_in_scene.png', cv.IMREAD_GRAYSCALE) # trainImage
# Initiate SIFT detector # Initiate SIFT detector
sift = cv.SIFT_create() sift = cv.SIFT_create()

@ -67,7 +67,7 @@ import numpy as np
import cv2 as cv import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('simple.jpg',0) img = cv.imread('simple.jpg', cv.IMREAD_GRAYSCALE)
# Initiate ORB detector # Initiate ORB detector
orb = cv.ORB_create() orb = cv.ORB_create()

@ -76,7 +76,7 @@ and descriptors.
First we will see a simple demo on how to find SURF keypoints and descriptors and draw it. All First we will see a simple demo on how to find SURF keypoints and descriptors and draw it. All
examples are shown in Python terminal since it is just same as SIFT only. examples are shown in Python terminal since it is just same as SIFT only.
@code{.py} @code{.py}
>>> img = cv.imread('fly.png',0) >>> img = cv.imread('fly.png', cv.IMREAD_GRAYSCALE)
# Create SURF object. You can specify params here or later. # Create SURF object. You can specify params here or later.
# Here I set Hessian Threshold to 400 # Here I set Hessian Threshold to 400

@ -83,7 +83,8 @@ import numpy as np
import cv2 as cv import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('messi5.jpg',0) img = cv.imread('messi5.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
edges = cv.Canny(img,100,200) edges = cv.Canny(img,100,200)
plt.subplot(121),plt.imshow(img,cmap = 'gray') plt.subplot(121),plt.imshow(img,cmap = 'gray')

@ -24,7 +24,8 @@ The function **cv.moments()** gives a dictionary of all moment values calculated
import numpy as np import numpy as np
import cv2 as cv import cv2 as cv
img = cv.imread('star.jpg',0) img = cv.imread('star.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
ret,thresh = cv.threshold(img,127,255,0) ret,thresh = cv.threshold(img,127,255,0)
im2,contours,hierarchy = cv.findContours(thresh, 1, 2) im2,contours,hierarchy = cv.findContours(thresh, 1, 2)

@ -29,6 +29,7 @@ import numpy as np
import cv2 as cv import cv2 as cv
im = cv.imread('test.jpg') im = cv.imread('test.jpg')
assert im is not None, "file could not be read, check with os.path.exists()"
imgray = cv.cvtColor(im, cv.COLOR_BGR2GRAY) imgray = cv.cvtColor(im, cv.COLOR_BGR2GRAY)
ret, thresh = cv.threshold(imgray, 127, 255, 0) ret, thresh = cv.threshold(imgray, 127, 255, 0)
im2, contours, hierarchy = cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE) im2, contours, hierarchy = cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)

@ -41,6 +41,7 @@ import cv2 as cv
import numpy as np import numpy as np
img = cv.imread('star.jpg') img = cv.imread('star.jpg')
assert img is not None, "file could not be read, check with os.path.exists()"
img_gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY) img_gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
ret,thresh = cv.threshold(img_gray, 127, 255,0) ret,thresh = cv.threshold(img_gray, 127, 255,0)
im2,contours,hierarchy = cv.findContours(thresh,2,1) im2,contours,hierarchy = cv.findContours(thresh,2,1)
@ -92,8 +93,10 @@ docs.
import cv2 as cv import cv2 as cv
import numpy as np import numpy as np
img1 = cv.imread('star.jpg',0) img1 = cv.imread('star.jpg', cv.IMREAD_GRAYSCALE)
img2 = cv.imread('star2.jpg',0) img2 = cv.imread('star2.jpg', cv.IMREAD_GRAYSCALE)
assert img1 is not None, "file could not be read, check with os.path.exists()"
assert img2 is not None, "file could not be read, check with os.path.exists()"
ret, thresh = cv.threshold(img1, 127, 255,0) ret, thresh = cv.threshold(img1, 127, 255,0)
ret, thresh2 = cv.threshold(img2, 127, 255,0) ret, thresh2 = cv.threshold(img2, 127, 255,0)

@ -29,6 +29,7 @@ import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('opencv_logo.png') img = cv.imread('opencv_logo.png')
assert img is not None, "file could not be read, check with os.path.exists()"
kernel = np.ones((5,5),np.float32)/25 kernel = np.ones((5,5),np.float32)/25
dst = cv.filter2D(img,-1,kernel) dst = cv.filter2D(img,-1,kernel)
@ -70,6 +71,7 @@ import numpy as np
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('opencv-logo-white.png') img = cv.imread('opencv-logo-white.png')
assert img is not None, "file could not be read, check with os.path.exists()"
blur = cv.blur(img,(5,5)) blur = cv.blur(img,(5,5))

@ -28,6 +28,7 @@ import numpy as np
import cv2 as cv import cv2 as cv
img = cv.imread('messi5.jpg') img = cv.imread('messi5.jpg')
assert img is not None, "file could not be read, check with os.path.exists()"
res = cv.resize(img,None,fx=2, fy=2, interpolation = cv.INTER_CUBIC) res = cv.resize(img,None,fx=2, fy=2, interpolation = cv.INTER_CUBIC)
@ -49,7 +50,8 @@ function. See the below example for a shift of (100,50):
import numpy as np import numpy as np
import cv2 as cv import cv2 as cv
img = cv.imread('messi5.jpg',0) img = cv.imread('messi5.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
rows,cols = img.shape rows,cols = img.shape
M = np.float32([[1,0,100],[0,1,50]]) M = np.float32([[1,0,100],[0,1,50]])
@ -87,7 +89,8 @@ where:
To find this transformation matrix, OpenCV provides a function, **cv.getRotationMatrix2D**. Check out the To find this transformation matrix, OpenCV provides a function, **cv.getRotationMatrix2D**. Check out the
below example which rotates the image by 90 degree with respect to center without any scaling. below example which rotates the image by 90 degree with respect to center without any scaling.
@code{.py} @code{.py}
img = cv.imread('messi5.jpg',0) img = cv.imread('messi5.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
rows,cols = img.shape rows,cols = img.shape
# cols-1 and rows-1 are the coordinate limits. # cols-1 and rows-1 are the coordinate limits.
@ -108,6 +111,7 @@ which is to be passed to **cv.warpAffine**.
Check the below example, and also look at the points I selected (which are marked in green color): Check the below example, and also look at the points I selected (which are marked in green color):
@code{.py} @code{.py}
img = cv.imread('drawing.png') img = cv.imread('drawing.png')
assert img is not None, "file could not be read, check with os.path.exists()"
rows,cols,ch = img.shape rows,cols,ch = img.shape
pts1 = np.float32([[50,50],[200,50],[50,200]]) pts1 = np.float32([[50,50],[200,50],[50,200]])
@ -137,6 +141,7 @@ matrix.
See the code below: See the code below:
@code{.py} @code{.py}
img = cv.imread('sudoku.png') img = cv.imread('sudoku.png')
assert img is not None, "file could not be read, check with os.path.exists()"
rows,cols,ch = img.shape rows,cols,ch = img.shape
pts1 = np.float32([[56,65],[368,52],[28,387],[389,390]]) pts1 = np.float32([[56,65],[368,52],[28,387],[389,390]])

@ -93,6 +93,7 @@ import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('messi5.jpg') img = cv.imread('messi5.jpg')
assert img is not None, "file could not be read, check with os.path.exists()"
mask = np.zeros(img.shape[:2],np.uint8) mask = np.zeros(img.shape[:2],np.uint8)
bgdModel = np.zeros((1,65),np.float64) bgdModel = np.zeros((1,65),np.float64)
@ -122,7 +123,8 @@ remaining background with gray. Then loaded that mask image in OpenCV, edited or
got with corresponding values in newly added mask image. Check the code below:* got with corresponding values in newly added mask image. Check the code below:*
@code{.py} @code{.py}
# newmask is the mask image I manually labelled # newmask is the mask image I manually labelled
newmask = cv.imread('newmask.png',0) newmask = cv.imread('newmask.png', cv.IMREAD_GRAYSCALE)
assert newmask is not None, "file could not be read, check with os.path.exists()"
# wherever it is marked white (sure foreground), change mask=1 # wherever it is marked white (sure foreground), change mask=1
# wherever it is marked black (sure background), change mask=0 # wherever it is marked black (sure background), change mask=0

@ -42,7 +42,8 @@ import numpy as np
import cv2 as cv import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('dave.jpg',0) img = cv.imread('dave.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
laplacian = cv.Laplacian(img,cv.CV_64F) laplacian = cv.Laplacian(img,cv.CV_64F)
sobelx = cv.Sobel(img,cv.CV_64F,1,0,ksize=5) sobelx = cv.Sobel(img,cv.CV_64F,1,0,ksize=5)
@ -79,7 +80,8 @@ import numpy as np
import cv2 as cv import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('box.png',0) img = cv.imread('box.png', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
# Output dtype = cv.CV_8U # Output dtype = cv.CV_8U
sobelx8u = cv.Sobel(img,cv.CV_8U,1,0,ksize=5) sobelx8u = cv.Sobel(img,cv.CV_8U,1,0,ksize=5)

@ -38,6 +38,7 @@ import numpy as np
import cv2 as cv import cv2 as cv
img = cv.imread('home.jpg') img = cv.imread('home.jpg')
assert img is not None, "file could not be read, check with os.path.exists()"
hsv = cv.cvtColor(img,cv.COLOR_BGR2HSV) hsv = cv.cvtColor(img,cv.COLOR_BGR2HSV)
hist = cv.calcHist([hsv], [0, 1], None, [180, 256], [0, 180, 0, 256]) hist = cv.calcHist([hsv], [0, 1], None, [180, 256], [0, 180, 0, 256])
@ -55,6 +56,7 @@ import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('home.jpg') img = cv.imread('home.jpg')
assert img is not None, "file could not be read, check with os.path.exists()"
hsv = cv.cvtColor(img,cv.COLOR_BGR2HSV) hsv = cv.cvtColor(img,cv.COLOR_BGR2HSV)
hist, xbins, ybins = np.histogram2d(h.ravel(),s.ravel(),[180,256],[[0,180],[0,256]]) hist, xbins, ybins = np.histogram2d(h.ravel(),s.ravel(),[180,256],[[0,180],[0,256]])
@ -89,6 +91,7 @@ import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('home.jpg') img = cv.imread('home.jpg')
assert img is not None, "file could not be read, check with os.path.exists()"
hsv = cv.cvtColor(img,cv.COLOR_BGR2HSV) hsv = cv.cvtColor(img,cv.COLOR_BGR2HSV)
hist = cv.calcHist( [hsv], [0, 1], None, [180, 256], [0, 180, 0, 256] ) hist = cv.calcHist( [hsv], [0, 1], None, [180, 256], [0, 180, 0, 256] )

@ -38,10 +38,12 @@ import cv2 as cvfrom matplotlib import pyplot as plt
#roi is the object or region of object we need to find #roi is the object or region of object we need to find
roi = cv.imread('rose_red.png') roi = cv.imread('rose_red.png')
assert roi is not None, "file could not be read, check with os.path.exists()"
hsv = cv.cvtColor(roi,cv.COLOR_BGR2HSV) hsv = cv.cvtColor(roi,cv.COLOR_BGR2HSV)
#target is the image we search in #target is the image we search in
target = cv.imread('rose.png') target = cv.imread('rose.png')
assert target is not None, "file could not be read, check with os.path.exists()"
hsvt = cv.cvtColor(target,cv.COLOR_BGR2HSV) hsvt = cv.cvtColor(target,cv.COLOR_BGR2HSV)
# Find the histograms using calcHist. Can be done with np.histogram2d also # Find the histograms using calcHist. Can be done with np.histogram2d also
@ -85,9 +87,11 @@ import numpy as np
import cv2 as cv import cv2 as cv
roi = cv.imread('rose_red.png') roi = cv.imread('rose_red.png')
assert roi is not None, "file could not be read, check with os.path.exists()"
hsv = cv.cvtColor(roi,cv.COLOR_BGR2HSV) hsv = cv.cvtColor(roi,cv.COLOR_BGR2HSV)
target = cv.imread('rose.png') target = cv.imread('rose.png')
assert target is not None, "file could not be read, check with os.path.exists()"
hsvt = cv.cvtColor(target,cv.COLOR_BGR2HSV) hsvt = cv.cvtColor(target,cv.COLOR_BGR2HSV)
# calculating object histogram # calculating object histogram

@ -77,7 +77,8 @@ and its parameters :
So let's start with a sample image. Simply load an image in grayscale mode and find its full So let's start with a sample image. Simply load an image in grayscale mode and find its full
histogram. histogram.
@code{.py} @code{.py}
img = cv.imread('home.jpg',0) img = cv.imread('home.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
hist = cv.calcHist([img],[0],None,[256],[0,256]) hist = cv.calcHist([img],[0],None,[256],[0,256])
@endcode @endcode
hist is a 256x1 array, each value corresponds to number of pixels in that image with its hist is a 256x1 array, each value corresponds to number of pixels in that image with its
@ -121,7 +122,8 @@ import numpy as np
import cv2 as cv import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('home.jpg',0) img = cv.imread('home.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
plt.hist(img.ravel(),256,[0,256]); plt.show() plt.hist(img.ravel(),256,[0,256]); plt.show()
@endcode @endcode
You will get a plot as below : You will get a plot as below :
@ -136,6 +138,7 @@ import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('home.jpg') img = cv.imread('home.jpg')
assert img is not None, "file could not be read, check with os.path.exists()"
color = ('b','g','r') color = ('b','g','r')
for i,col in enumerate(color): for i,col in enumerate(color):
histr = cv.calcHist([img],[i],None,[256],[0,256]) histr = cv.calcHist([img],[i],None,[256],[0,256])
@ -164,7 +167,8 @@ We used cv.calcHist() to find the histogram of the full image. What if you want
of some regions of an image? Just create a mask image with white color on the region you want to of some regions of an image? Just create a mask image with white color on the region you want to
find histogram and black otherwise. Then pass this as the mask. find histogram and black otherwise. Then pass this as the mask.
@code{.py} @code{.py}
img = cv.imread('home.jpg',0) img = cv.imread('home.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
# create a mask # create a mask
mask = np.zeros(img.shape[:2], np.uint8) mask = np.zeros(img.shape[:2], np.uint8)

@ -30,7 +30,8 @@ import numpy as np
import cv2 as cv import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('wiki.jpg',0) img = cv.imread('wiki.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
hist,bins = np.histogram(img.flatten(),256,[0,256]) hist,bins = np.histogram(img.flatten(),256,[0,256])
@ -81,7 +82,8 @@ output is our histogram equalized image.
Below is a simple code snippet showing its usage for same image we used : Below is a simple code snippet showing its usage for same image we used :
@code{.py} @code{.py}
img = cv.imread('wiki.jpg',0) img = cv.imread('wiki.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
equ = cv.equalizeHist(img) equ = cv.equalizeHist(img)
res = np.hstack((img,equ)) #stacking images side-by-side res = np.hstack((img,equ)) #stacking images side-by-side
cv.imwrite('res.png',res) cv.imwrite('res.png',res)
@ -124,7 +126,8 @@ Below code snippet shows how to apply CLAHE in OpenCV:
import numpy as np import numpy as np
import cv2 as cv import cv2 as cv
img = cv.imread('tsukuba_l.png',0) img = cv.imread('tsukuba_l.png', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
# create a CLAHE object (Arguments are optional). # create a CLAHE object (Arguments are optional).
clahe = cv.createCLAHE(clipLimit=2.0, tileGridSize=(8,8)) clahe = cv.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))

@ -23,7 +23,8 @@ explained in the documentation. So we directly go to the code.
import numpy as np import numpy as np
import cv2 as cv import cv2 as cv
img = cv.imread('opencv-logo-white.png',0) img = cv.imread('opencv-logo-white.png', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
img = cv.medianBlur(img,5) img = cv.medianBlur(img,5)
cimg = cv.cvtColor(img,cv.COLOR_GRAY2BGR) cimg = cv.cvtColor(img,cv.COLOR_GRAY2BGR)

@ -38,7 +38,8 @@ Here, as an example, I would use a 5x5 kernel with full of ones. Let's see it ho
import cv2 as cv import cv2 as cv
import numpy as np import numpy as np
img = cv.imread('j.png',0) img = cv.imread('j.png', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
kernel = np.ones((5,5),np.uint8) kernel = np.ones((5,5),np.uint8)
erosion = cv.erode(img,kernel,iterations = 1) erosion = cv.erode(img,kernel,iterations = 1)
@endcode @endcode

@ -31,6 +31,7 @@ Similarly while expanding, area becomes 4 times in each level. We can find Gauss
**cv.pyrDown()** and **cv.pyrUp()** functions. **cv.pyrDown()** and **cv.pyrUp()** functions.
@code{.py} @code{.py}
img = cv.imread('messi5.jpg') img = cv.imread('messi5.jpg')
assert img is not None, "file could not be read, check with os.path.exists()"
lower_reso = cv.pyrDown(higher_reso) lower_reso = cv.pyrDown(higher_reso)
@endcode @endcode
Below is the 4 levels in an image pyramid. Below is the 4 levels in an image pyramid.
@ -84,6 +85,8 @@ import numpy as np,sys
A = cv.imread('apple.jpg') A = cv.imread('apple.jpg')
B = cv.imread('orange.jpg') B = cv.imread('orange.jpg')
assert A is not None, "file could not be read, check with os.path.exists()"
assert B is not None, "file could not be read, check with os.path.exists()"
# generate Gaussian pyramid for A # generate Gaussian pyramid for A
G = A.copy() G = A.copy()

@ -38,9 +38,11 @@ import cv2 as cv
import numpy as np import numpy as np
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('messi5.jpg',0) img = cv.imread('messi5.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
img2 = img.copy() img2 = img.copy()
template = cv.imread('template.jpg',0) template = cv.imread('template.jpg', cv.IMREAD_GRAYSCALE)
assert template is not None, "file could not be read, check with os.path.exists()"
w, h = template.shape[::-1] w, h = template.shape[::-1]
# All the 6 methods for comparison in a list # All the 6 methods for comparison in a list
@ -113,8 +115,10 @@ import numpy as np
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img_rgb = cv.imread('mario.png') img_rgb = cv.imread('mario.png')
assert img_rgb is not None, "file could not be read, check with os.path.exists()"
img_gray = cv.cvtColor(img_rgb, cv.COLOR_BGR2GRAY) img_gray = cv.cvtColor(img_rgb, cv.COLOR_BGR2GRAY)
template = cv.imread('mario_coin.png',0) template = cv.imread('mario_coin.png', cv.IMREAD_GRAYSCALE)
assert template is not None, "file could not be read, check with os.path.exists()"
w, h = template.shape[::-1] w, h = template.shape[::-1]
res = cv.matchTemplate(img_gray,template,cv.TM_CCOEFF_NORMED) res = cv.matchTemplate(img_gray,template,cv.TM_CCOEFF_NORMED)

@ -37,7 +37,8 @@ import cv2 as cv
import numpy as np import numpy as np
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('gradient.png',0) img = cv.imread('gradient.png', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
ret,thresh1 = cv.threshold(img,127,255,cv.THRESH_BINARY) ret,thresh1 = cv.threshold(img,127,255,cv.THRESH_BINARY)
ret,thresh2 = cv.threshold(img,127,255,cv.THRESH_BINARY_INV) ret,thresh2 = cv.threshold(img,127,255,cv.THRESH_BINARY_INV)
ret,thresh3 = cv.threshold(img,127,255,cv.THRESH_TRUNC) ret,thresh3 = cv.threshold(img,127,255,cv.THRESH_TRUNC)
@ -85,7 +86,8 @@ import cv2 as cv
import numpy as np import numpy as np
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('sudoku.png',0) img = cv.imread('sudoku.png', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
img = cv.medianBlur(img,5) img = cv.medianBlur(img,5)
ret,th1 = cv.threshold(img,127,255,cv.THRESH_BINARY) ret,th1 = cv.threshold(img,127,255,cv.THRESH_BINARY)
@ -133,7 +135,8 @@ import cv2 as cv
import numpy as np import numpy as np
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('noisy2.png',0) img = cv.imread('noisy2.png', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
# global thresholding # global thresholding
ret1,th1 = cv.threshold(img,127,255,cv.THRESH_BINARY) ret1,th1 = cv.threshold(img,127,255,cv.THRESH_BINARY)
@ -183,7 +186,8 @@ where
It actually finds a value of t which lies in between two peaks such that variances to both classes It actually finds a value of t which lies in between two peaks such that variances to both classes
are minimal. It can be simply implemented in Python as follows: are minimal. It can be simply implemented in Python as follows:
@code{.py} @code{.py}
img = cv.imread('noisy2.png',0) img = cv.imread('noisy2.png', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
blur = cv.GaussianBlur(img,(5,5),0) blur = cv.GaussianBlur(img,(5,5),0)
# find normalized_histogram, and its cumulative distribution function # find normalized_histogram, and its cumulative distribution function

@ -54,7 +54,8 @@ import cv2 as cv
import numpy as np import numpy as np
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('messi5.jpg',0) img = cv.imread('messi5.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
f = np.fft.fft2(img) f = np.fft.fft2(img)
fshift = np.fft.fftshift(f) fshift = np.fft.fftshift(f)
magnitude_spectrum = 20*np.log(np.abs(fshift)) magnitude_spectrum = 20*np.log(np.abs(fshift))
@ -121,7 +122,8 @@ import numpy as np
import cv2 as cv import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('messi5.jpg',0) img = cv.imread('messi5.jpg', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"
dft = cv.dft(np.float32(img),flags = cv.DFT_COMPLEX_OUTPUT) dft = cv.dft(np.float32(img),flags = cv.DFT_COMPLEX_OUTPUT)
dft_shift = np.fft.fftshift(dft) dft_shift = np.fft.fftshift(dft)
@ -184,7 +186,8 @@ So how do we find this optimal size ? OpenCV provides a function, **cv.getOptima
this. It is applicable to both **cv.dft()** and **np.fft.fft2()**. Let's check their performance this. It is applicable to both **cv.dft()** and **np.fft.fft2()**. Let's check their performance
using IPython magic command %timeit. using IPython magic command %timeit.
@code{.py} @code{.py}
In [16]: img = cv.imread('messi5.jpg',0) In [15]: img = cv.imread('messi5.jpg', cv.IMREAD_GRAYSCALE)
In [16]: assert img is not None, "file could not be read, check with os.path.exists()"
In [17]: rows,cols = img.shape In [17]: rows,cols = img.shape
In [18]: print("{} {}".format(rows,cols)) In [18]: print("{} {}".format(rows,cols))
342 548 342 548

@ -49,6 +49,7 @@ import cv2 as cv
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
img = cv.imread('coins.png') img = cv.imread('coins.png')
assert img is not None, "file could not be read, check with os.path.exists()"
gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY) gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
ret, thresh = cv.threshold(gray,0,255,cv.THRESH_BINARY_INV+cv.THRESH_OTSU) ret, thresh = cv.threshold(gray,0,255,cv.THRESH_BINARY_INV+cv.THRESH_OTSU)
@endcode @endcode

@ -56,7 +56,7 @@ import numpy as np
import cv2 as cv import cv2 as cv
img = cv.imread('messi_2.jpg') img = cv.imread('messi_2.jpg')
mask = cv.imread('mask2.png',0) mask = cv.imread('mask2.png', cv.IMREAD_GRAYSCALE)
dst = cv.inpaint(img,mask,3,cv.INPAINT_TELEA) dst = cv.inpaint(img,mask,3,cv.INPAINT_TELEA)

@ -55,7 +55,7 @@ Making a project
int main( int argc, char** argv ) int main( int argc, char** argv )
{ {
Mat image; Mat image;
image = imread( argv[1], 1 ); image = imread( argv[1], IMREAD_COLOR );
if( argc != 2 || !image.data ) if( argc != 2 || !image.data )
{ {

@ -35,7 +35,7 @@ int main(int argc, char** argv )
} }
Mat image; Mat image;
image = imread( argv[1], 1 ); image = imread( argv[1], IMREAD_COLOR );
if ( !image.data ) if ( !image.data )
{ {

@ -216,7 +216,7 @@ void CV_ChessboardDetectorTest::run_batch( const string& filename )
/* read the image */ /* read the image */
String img_file = board_list[idx * 2]; String img_file = board_list[idx * 2];
Mat gray = imread( folder + img_file, 0); Mat gray = imread( folder + img_file, IMREAD_GRAYSCALE);
if( gray.empty() ) if( gray.empty() )
{ {

@ -456,8 +456,8 @@ void CV_StereoMatchingTest::run(int)
string datasetFullDirName = dataPath + DATASETS_DIR + datasetName + "/"; string datasetFullDirName = dataPath + DATASETS_DIR + datasetName + "/";
Mat leftImg = imread(datasetFullDirName + LEFT_IMG_NAME); Mat leftImg = imread(datasetFullDirName + LEFT_IMG_NAME);
Mat rightImg = imread(datasetFullDirName + RIGHT_IMG_NAME); Mat rightImg = imread(datasetFullDirName + RIGHT_IMG_NAME);
Mat trueLeftDisp = imread(datasetFullDirName + TRUE_LEFT_DISP_NAME, 0); Mat trueLeftDisp = imread(datasetFullDirName + TRUE_LEFT_DISP_NAME, IMREAD_GRAYSCALE);
Mat trueRightDisp = imread(datasetFullDirName + TRUE_RIGHT_DISP_NAME, 0); Mat trueRightDisp = imread(datasetFullDirName + TRUE_RIGHT_DISP_NAME, IMREAD_GRAYSCALE);
Rect calcROI; Rect calcROI;
if( leftImg.empty() || rightImg.empty() || trueLeftDisp.empty() ) if( leftImg.empty() || rightImg.empty() || trueLeftDisp.empty() )
@ -835,9 +835,9 @@ TEST_P(Calib3d_StereoBM_BufferBM, memAllocsTest)
const int SADWindowSize = get<1>(get<1>(GetParam())); const int SADWindowSize = get<1>(get<1>(GetParam()));
String path = cvtest::TS::ptr()->get_data_path() + "cv/stereomatching/datasets/teddy/"; String path = cvtest::TS::ptr()->get_data_path() + "cv/stereomatching/datasets/teddy/";
Mat leftImg = imread(path + "im2.png", 0); Mat leftImg = imread(path + "im2.png", IMREAD_GRAYSCALE);
ASSERT_FALSE(leftImg.empty()); ASSERT_FALSE(leftImg.empty());
Mat rightImg = imread(path + "im6.png", 0); Mat rightImg = imread(path + "im6.png", IMREAD_GRAYSCALE);
ASSERT_FALSE(rightImg.empty()); ASSERT_FALSE(rightImg.empty());
Mat leftDisp; Mat leftDisp;
{ {
@ -923,9 +923,9 @@ TEST(Calib3d_StereoSGBM, regression) { CV_StereoSGBMTest test; test.safe_run();
TEST(Calib3d_StereoSGBM_HH4, regression) TEST(Calib3d_StereoSGBM_HH4, regression)
{ {
String path = cvtest::TS::ptr()->get_data_path() + "cv/stereomatching/datasets/teddy/"; String path = cvtest::TS::ptr()->get_data_path() + "cv/stereomatching/datasets/teddy/";
Mat leftImg = imread(path + "im2.png", 0); Mat leftImg = imread(path + "im2.png", IMREAD_GRAYSCALE);
ASSERT_FALSE(leftImg.empty()); ASSERT_FALSE(leftImg.empty());
Mat rightImg = imread(path + "im6.png", 0); Mat rightImg = imread(path + "im6.png", IMREAD_GRAYSCALE);
ASSERT_FALSE(rightImg.empty()); ASSERT_FALSE(rightImg.empty());
Mat testData = imread(path + "disp2_hh4.png",-1); Mat testData = imread(path + "disp2_hh4.png",-1);
ASSERT_FALSE(testData.empty()); ASSERT_FALSE(testData.empty());

@ -406,7 +406,7 @@ TEST( Features2d_DescriptorExtractor, batch_ORB )
for( i = 0; i < n; i++ ) for( i = 0; i < n; i++ )
{ {
string imgname = format("%s/img%d.png", path.c_str(), i+1); string imgname = format("%s/img%d.png", path.c_str(), i+1);
Mat img = imread(imgname, 0); Mat img = imread(imgname, IMREAD_GRAYSCALE);
imgs.push_back(img); imgs.push_back(img);
} }
@ -434,7 +434,7 @@ TEST( Features2d_DescriptorExtractor, batch_SIFT )
for( i = 0; i < n; i++ ) for( i = 0; i < n; i++ )
{ {
string imgname = format("%s/img%d.png", path.c_str(), i+1); string imgname = format("%s/img%d.png", path.c_str(), i+1);
Mat img = imread(imgname, 0); Mat img = imread(imgname, IMREAD_GRAYSCALE);
imgs.push_back(img); imgs.push_back(img);
} }

@ -45,7 +45,7 @@ public class ImgcodecsTest extends OpenCVTestCase {
} }
public void testImreadStringInt() { public void testImreadStringInt() {
dst = Imgcodecs.imread(OpenCVTestRunner.LENA_PATH, 0); dst = Imgcodecs.imread(OpenCVTestRunner.LENA_PATH, Imgcodecs.IMREAD_GRAYSCALE);
assertFalse(dst.empty()); assertFalse(dst.empty());
assertEquals(1, dst.channels()); assertEquals(1, dst.channels());
assertTrue(512 == dst.cols()); assertTrue(512 == dst.cols());

@ -81,7 +81,7 @@ void CV_ConnectedComponentsTest::run(int /* start_from */)
int ccltype[] = { cv::CCL_DEFAULT, cv::CCL_WU, cv::CCL_GRANA, cv::CCL_BOLELLI, cv::CCL_SAUF, cv::CCL_BBDT, cv::CCL_SPAGHETTI }; int ccltype[] = { cv::CCL_DEFAULT, cv::CCL_WU, cv::CCL_GRANA, cv::CCL_BOLELLI, cv::CCL_SAUF, cv::CCL_BBDT, cv::CCL_SPAGHETTI };
string exp_path = string(ts->get_data_path()) + "connectedcomponents/ccomp_exp.png"; string exp_path = string(ts->get_data_path()) + "connectedcomponents/ccomp_exp.png";
Mat exp = imread(exp_path, 0); Mat exp = imread(exp_path, IMREAD_GRAYSCALE);
Mat orig = imread(string(ts->get_data_path()) + "connectedcomponents/concentric_circles.png", 0); Mat orig = imread(string(ts->get_data_path()) + "connectedcomponents/concentric_circles.png", 0);
if (orig.empty()) if (orig.empty())

@ -53,7 +53,7 @@ protected:
void run(int) void run(int)
{ {
string imgpath = string(ts->get_data_path()) + "shared/lena.png"; string imgpath = string(ts->get_data_path()) + "shared/lena.png";
Mat img = imread(imgpath, 1), gray, smallimg, result; Mat img = imread(imgpath, IMREAD_COLOR), gray, smallimg, result;
UMat uimg = img.getUMat(ACCESS_READ), ugray, usmallimg, uresult; UMat uimg = img.getUMat(ACCESS_READ), ugray, usmallimg, uresult;
cvtColor(img, gray, COLOR_BGR2GRAY); cvtColor(img, gray, COLOR_BGR2GRAY);

@ -59,7 +59,7 @@ CV_WatershedTest::~CV_WatershedTest() {}
void CV_WatershedTest::run( int /* start_from */) void CV_WatershedTest::run( int /* start_from */)
{ {
string exp_path = string(ts->get_data_path()) + "watershed/wshed_exp.png"; string exp_path = string(ts->get_data_path()) + "watershed/wshed_exp.png";
Mat exp = imread(exp_path, 0); Mat exp = imread(exp_path, IMREAD_GRAYSCALE);
Mat orig = imread(string(ts->get_data_path()) + "inpaint/orig.png"); Mat orig = imread(string(ts->get_data_path()) + "inpaint/orig.png");
FileStorage fs(string(ts->get_data_path()) + "watershed/comp.xml", FileStorage::READ); FileStorage fs(string(ts->get_data_path()) + "watershed/comp.xml", FileStorage::READ);

@ -149,7 +149,7 @@ public class OpenCVTestCase extends TestCase {
rgba128 = new Mat(matSize, matSize, CvType.CV_8UC4, Scalar.all(128)); rgba128 = new Mat(matSize, matSize, CvType.CV_8UC4, Scalar.all(128));
rgbLena = Imgcodecs.imread(OpenCVTestRunner.LENA_PATH); rgbLena = Imgcodecs.imread(OpenCVTestRunner.LENA_PATH);
grayChess = Imgcodecs.imread(OpenCVTestRunner.CHESS_PATH, 0); grayChess = Imgcodecs.imread(OpenCVTestRunner.CHESS_PATH, Imgcodecs.IMREAD_GRAYSCALE);
gray255_32f_3d = new Mat(new int[]{matSize, matSize, matSize}, CvType.CV_32F, new Scalar(255.0)); gray255_32f_3d = new Mat(new int[]{matSize, matSize, matSize}, CvType.CV_32F, new Scalar(255.0));

@ -175,7 +175,7 @@ public class OpenCVTestCase extends TestCase {
rgba128 = new Mat(matSize, matSize, CvType.CV_8UC4, Scalar.all(128)); rgba128 = new Mat(matSize, matSize, CvType.CV_8UC4, Scalar.all(128));
rgbLena = Imgcodecs.imread(OpenCVTestRunner.LENA_PATH); rgbLena = Imgcodecs.imread(OpenCVTestRunner.LENA_PATH);
grayChess = Imgcodecs.imread(OpenCVTestRunner.CHESS_PATH, 0); grayChess = Imgcodecs.imread(OpenCVTestRunner.CHESS_PATH, Imgcodecs.IMREAD_GRAYSCALE);
gray255_32f_3d = new Mat(new int[]{matSize, matSize, matSize}, CvType.CV_32F, new Scalar(255.0)); gray255_32f_3d = new Mat(new int[]{matSize, matSize, matSize}, CvType.CV_32F, new Scalar(255.0));

@ -137,7 +137,7 @@ int CV_DetectorTest::prepareData( FileStorage& _fs )
String filename; String filename;
it >> filename; it >> filename;
imageFilenames.push_back(filename); imageFilenames.push_back(filename);
Mat img = imread( dataPath+filename, 1 ); Mat img = imread( dataPath+filename, IMREAD_COLOR );
images.push_back( img ); images.push_back( img );
} }
} }

@ -157,7 +157,7 @@ TEST(Photo_White, issue_2646)
TEST(Photo_Denoising, speed) TEST(Photo_Denoising, speed)
{ {
string imgname = string(cvtest::TS::ptr()->get_data_path()) + "shared/5MP.png"; string imgname = string(cvtest::TS::ptr()->get_data_path()) + "shared/5MP.png";
Mat src = imread(imgname, 0), dst; Mat src = imread(imgname, IMREAD_GRAYSCALE), dst;
double t = (double)getTickCount(); double t = (double)getTickCount();
fastNlMeansDenoising(src, dst, 5, 7, 21); fastNlMeansDenoising(src, dst, 5, 7, 21);

@ -194,7 +194,7 @@ public:
{ {
string filename = ts->get_data_path() + "readwrite/ordinary.bmp"; string filename = ts->get_data_path() + "readwrite/ordinary.bmp";
VideoCapture cap(filename, CAP_FFMPEG); VideoCapture cap(filename, CAP_FFMPEG);
Mat img0 = imread(filename, 1); Mat img0 = imread(filename, IMREAD_COLOR);
Mat img, img_next; Mat img, img_next;
cap >> img; cap >> img;
cap >> img_next; cap >> img_next;

@ -250,7 +250,7 @@ int main( int argc, char** argv )
{ {
int k1 = k == 0 ? 2 : k == 1 ? 0 : 1; int k1 = k == 0 ? 2 : k == 1 ? 0 : 1;
printf("%s\n", imageList[i*3+k].c_str()); printf("%s\n", imageList[i*3+k].c_str());
view = imread(imageList[i*3+k], 1); view = imread(imageList[i*3+k], IMREAD_COLOR);
if(!view.empty()) if(!view.empty())
{ {
@ -338,7 +338,7 @@ int main( int argc, char** argv )
{ {
int k1 = k == 0 ? 2 : k == 1 ? 0 : 1; int k1 = k == 0 ? 2 : k == 1 ? 0 : 1;
int k2 = k == 0 ? 1 : k == 1 ? 0 : 2; int k2 = k == 0 ? 1 : k == 1 ? 0 : 2;
view = imread(imageList[i*3+k], 1); view = imread(imageList[i*3+k], IMREAD_COLOR);
if(view.empty()) if(view.empty())
continue; continue;

@ -456,7 +456,7 @@ int main( int argc, char** argv )
view0.copyTo(view); view0.copyTo(view);
} }
else if( i < (int)imageList.size() ) else if( i < (int)imageList.size() )
view = imread(imageList[i], 1); view = imread(imageList[i], IMREAD_COLOR);
if(view.empty()) if(view.empty())
{ {
@ -581,7 +581,7 @@ int main( int argc, char** argv )
for( i = 0; i < (int)imageList.size(); i++ ) for( i = 0; i < (int)imageList.size(); i++ )
{ {
view = imread(imageList[i], 1); view = imread(imageList[i], IMREAD_COLOR);
if(view.empty()) if(view.empty())
continue; continue;
remap(view, rview, map1, map2, INTER_LINEAR); remap(view, rview, map1, map2, INTER_LINEAR);

@ -145,7 +145,7 @@ int main( int argc, const char** argv )
len--; len--;
buf[len] = '\0'; buf[len] = '\0';
cout << "file " << buf << endl; cout << "file " << buf << endl;
image = imread( buf, 1 ); image = imread( buf, IMREAD_COLOR );
if( !image.empty() ) if( !image.empty() )
{ {
detectAndDraw( image, cascade, nestedCascade, scale, tryflip ); detectAndDraw( image, cascade, nestedCascade, scale, tryflip );

@ -59,7 +59,7 @@ static void read_imgList(const string& filename, vector<Mat>& images) {
} }
string line; string line;
while (getline(file, line)) { while (getline(file, line)) {
images.push_back(imread(line, 0)); images.push_back(imread(line, IMREAD_GRAYSCALE));
} }
} }

@ -80,7 +80,7 @@ StereoCalib(const vector<string>& imagelist, Size boardSize, float squareSize, b
for( k = 0; k < 2; k++ ) for( k = 0; k < 2; k++ )
{ {
const string& filename = imagelist[i*2+k]; const string& filename = imagelist[i*2+k];
Mat img = imread(filename, 0); Mat img = imread(filename, IMREAD_GRAYSCALE);
if(img.empty()) if(img.empty())
break; break;
if( imageSize == Size() ) if( imageSize == Size() )
@ -298,7 +298,7 @@ StereoCalib(const vector<string>& imagelist, Size boardSize, float squareSize, b
{ {
for( k = 0; k < 2; k++ ) for( k = 0; k < 2; k++ )
{ {
Mat img = imread(goodImageList[i*2+k], 0), rimg, cimg; Mat img = imread(goodImageList[i*2+k], IMREAD_GRAYSCALE), rimg, cimg;
remap(img, rimg, rmap[k][0], rmap[k][1], INTER_LINEAR); remap(img, rimg, rmap[k][0], rmap[k][1], INTER_LINEAR);
cvtColor(rimg, cimg, COLOR_GRAY2BGR); cvtColor(rimg, cimg, COLOR_GRAY2BGR);
Mat canvasPart = !isVerticalStereo ? canvas(Rect(w*k, 0, w, h)) : canvas(Rect(0, h*k, w, h)); Mat canvasPart = !isVerticalStereo ? canvas(Rect(w*k, 0, w, h)) : canvas(Rect(0, h*k, w, h));

@ -8,7 +8,7 @@ using namespace std;
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
Mat img, gray; Mat img, gray;
if( argc != 2 || !(img=imread(argv[1], 1)).data) if( argc != 2 || !(img=imread(argv[1], IMREAD_COLOR)).data)
return -1; return -1;
cvtColor(img, gray, COLOR_BGR2GRAY); cvtColor(img, gray, COLOR_BGR2GRAY);
// smooth it, otherwise a lot of false circles may be detected // smooth it, otherwise a lot of false circles may be detected

@ -7,7 +7,7 @@ using namespace std;
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
Mat src, dst, color_dst; Mat src, dst, color_dst;
if( argc != 2 || !(src=imread(argv[1], 0)).data) if( argc != 2 || !(src=imread(argv[1], IMREAD_GRAYSCALE)).data)
return -1; return -1;
Canny( src, dst, 50, 200, 3 ); Canny( src, dst, 50, 200, 3 );

@ -6,7 +6,7 @@ using namespace cv;
int main( int argc, char** argv ) int main( int argc, char** argv )
{ {
Mat src, hsv; Mat src, hsv;
if( argc != 2 || !(src=imread(argv[1], 1)).data ) if( argc != 2 || !(src=imread(argv[1], IMREAD_COLOR)).data )
return -1; return -1;
cvtColor(src, hsv, COLOR_BGR2HSV); cvtColor(src, hsv, COLOR_BGR2HSV);

@ -9,7 +9,7 @@ int main( int argc, char** argv )
Mat src; Mat src;
// the first command-line parameter must be a filename of the binary // the first command-line parameter must be a filename of the binary
// (black-n-white) image // (black-n-white) image
if( argc != 2 || !(src=imread(argv[1], 0)).data) if( argc != 2 || !(src=imread(argv[1], IMREAD_GRAYSCALE)).data)
return -1; return -1;
Mat dst = Mat::zeros(src.rows, src.cols, CV_8UC3); Mat dst = Mat::zeros(src.rows, src.cols, CV_8UC3);

@ -54,7 +54,7 @@ int main( int argc, char** argv )
return 0; return 0;
} }
string filename = samples::findFile(parser.get<string>("@input")); string filename = samples::findFile(parser.get<string>("@input"));
Mat img0 = imread(filename, 1), imgGray; Mat img0 = imread(filename, IMREAD_COLOR), imgGray;
if( img0.empty() ) if( img0.empty() )
{ {

@ -57,7 +57,7 @@ def main():
def processImage(fn): def processImage(fn):
print('processing %s... ' % fn) print('processing %s... ' % fn)
img = cv.imread(fn, 0) img = cv.imread(fn, cv.IMREAD_GRAYSCALE)
if img is None: if img is None:
print("Failed to load", fn) print("Failed to load", fn)
return None return None

@ -69,7 +69,7 @@ class App():
if ext == "png" or ext == "jpg" or ext == "bmp" or ext == "tiff" or ext == "pbm": if ext == "png" or ext == "jpg" or ext == "bmp" or ext == "tiff" or ext == "pbm":
print(infile) print(infile)
img = cv.imread(infile,1) img = cv.imread(infile, cv.IMREAD_COLOR)
if img is None: if img is None:
continue continue
self.sel = (0,0,0,0) self.sel = (0,0,0,0)

Loading…
Cancel
Save