Because OpenCV stores images in BGR order instead of RGB.
Try plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
See here for an example.
More Related Contents:
- Removing Horizontal Lines in image (OpenCV, Python, Matplotlib)
- Image is not displaying in Google Colab while using imshow()
- Detect text region in image using Opencv
- How to get the location of all text present in an image using OpenCV?
- Convert image from PIL to openCV format
- How to detect lines in OpenCV?
- Matplotlib: How to plot images instead of points?
- How to de-skew a text image and retrieve the new bounding box of that image Python OpenCV?
- How to find the average colour of an image in Python with OpenCV?
- OpenCV – Apply mask to a color image
- Finding red color in image using Python & OpenCV
- Automatic contrast and brightness adjustment of a color photo of a sheet of paper with OpenCV
- NumPy/OpenCV 2: how do I crop non-rectangular region?
- How to fast change image brightness with python + OpenCV?
- Matplotlib: how to make imshow read x,y coordinates from other numpy arrays?
- update frame in matplotlib with live camera preview
- Python: Sorting items from top left to bottom right with OpenCV
- Combining Two Images with OpenCV
- matplotlib savefig performance, saving multiple pngs within loop
- Python, OpenCV: Increasing image brightness without overflowing UINT8 array
- OpenCV & Python – Image too big to display
- Add padding to images to get them into the same shape
- How to remove shadow from scanned images using OpenCV?
- How to remove small connected objects using OpenCV
- How to connect broken lines in a binary image using Python/Opencv
- Determine if an image exists within a larger image, and if so, find it, using Python
- How to use `cv2.imshow` correctly for the float image returned by `cv2.distanceTransform`?
- Find a 3×3 sliding window over an image
- Creating intersecting images with imshow or other function
- Remove spurious small islands of noise in an image – Python OpenCV