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
This commit is contained in:
Christoph Rackwitz 2023-01-09 01:55:31 -08:00 committed by GitHub
parent 7b7774476e
commit a64b51dd94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
57 changed files with 129 additions and 74 deletions

View File

@ -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;

View File

@ -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)

View File

@ -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()

View File

@ -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)

View File

@ -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

View File

@ -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):

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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

View File

@ -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')

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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))

View File

@ -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]])

View File

@ -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

View File

@ -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)

View File

@ -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] )

View File

@ -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

View File

@ -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)

View File

@ -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))

View File

@ -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)

View File

@ -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

View File

@ -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()

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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 )
{ {

View File

@ -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 )
{ {

View File

@ -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() )
{ {

View File

@ -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());

View File

@ -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);
} }

View File

@ -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());

View File

@ -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())

View File

@ -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);

View File

@ -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);

View File

@ -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));

View File

@ -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));

View File

@ -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 );
} }
} }

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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 );

View File

@ -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));
} }
} }

View File

@ -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));

View File

@ -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

View File

@ -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 );

View File

@ -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);

View File

@ -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);

View File

@ -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() )
{ {

View File

@ -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

View File

@ -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)