美文网首页
1.1 GUI - 从图片开始

1.1 GUI - 从图片开始

作者: sumpig | 来源:发表于2019-03-13 16:01 被阅读0次

OpenCV

读一张图片

cv2.imread()

  • cv2.IMREAD_COLOR : Loads a color image. Any transparency of image will be neglected. It is the default flag.
  • cv2.IMREAD_GRAYSCALE : Loads image in grayscale mode
  • cv2.IMREAD_UNCHANGED : Loads image as such including alpha channel

上面三个参数可以分别用 1, 0, -1 来代替.

import numpy as np
import cv2

# Load an color image in grayscale
img = cv2.imread('messi5.jpg',0)

展示一张图片

cv2.imshow()

cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

cv2.waitKey() If 0 is passed, it waits indefinitely for a key stroke.

cv2.destroyAllWindows() If you want to destroy any specific window, use the function cv2.destroyWindow() where you pass the exact window name as the argument.

cv2.namedWindow() 允许你创建一个窗口,然后将图像加载到该窗口中。你可以指定是否可以调整窗口,默认参数为 cv2.window_autosize, 当指定参数为 cv2.window_normalo,则可以调整窗口大小。

cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

写一张图片

cv2.imwrite()

cv2.imwrite('test.png', img)

总结

下面的程序以灰度级加载图像,显示图像,如果按“s”将保存图像并退出,如果按Esc键,则直接退出而不保存图像。

import numpy as np
import cv2

img = cv2.imread('messi5.jpg',0)
cv2.imshow('image',img)
k = cv2.waitKey(0)
if k == 27:         # wait for ESC key to exit
    cv2.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit
    cv2.imwrite('messigray.png',img)
    cv2.destroyAllWindows()

Matplotlib

import numpy as np
import cv2
from matplotlib import pyplot as plt

img = cv2.imread('messi5.jpg',0)
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.show()

opencv加载的彩色图像处于BGR模式。但Matplotlib以RGB模式显示。因此,如果使用opencv读取图像,则颜色图像将无法在matplotlib中正确显示。一个相应的解决方法如下:

import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('messi4.jpg')
b,g,r = cv2.split(img)
img2 = cv2.merge([r,g,b])
plt.subplot(121);plt.imshow(img) # expects distorted color
plt.subplot(122);plt.imshow(img2) # expect true color
plt.show()

cv2.imshow('bgr image',img) # expects true color
cv2.imshow('rgb image',img2) # expects distorted color
cv2.waitKey(0)
cv2.destroyAllWindows()

相关文章

  • 1.1 GUI - 从图片开始

    OpenCV 读一张图片 cv2.imread() cv2.IMREAD_COLOR : Loads a colo...

  • python基础教程笔记(第一章)

    1.1python安装 win 开始-python-IDLE(python GUI) 即打开python shel...

  • 1.1从MarkDown开始

    MarkDown语法 以纯文本形式原样发布虽然编辑时会使用语法,但是展示时不会包含标记标签、格式化指令以及标点符号...

  • PyQt5创建GUI界面之一

    一, 利用designer设计的GUI 1.1 使用designer设计一个简单的GUI界面,含有一个'Quit'...

  • 1.1 从规划开始

    从规划开始[https://www.jianshu.com/writer] 每个人所处的阶段不同,综合能力也不尽相...

  • 《树莓派用户指南》速览

    1. Linux系统概述 1.1 终端和GUI Windows操作系统中,通常通过GUI或命令行来实现一个特定目标...

  • PHP GUI探索

    工作需要,所以从php GUI开始。 GUI简介 官方简介:这个扩展包让libui为跨平台开发原生的外观和感觉用户...

  • 大总结:QT6基本控件入门--Apple的学习笔记

    一, 前言 从看littlevgl源码开始,我就发现它的GUI引擎设计和很多GUI引擎设计雷同,正所谓麻雀虽小,五...

  • 1.1 开始

    《Linux Shell 脚本攻略(第 2 版)》读书笔记 Bash (Bourne Again Shell)是目...

  • Java 基础 09. Java GUI

    GUI 组件: 窗口、弹窗、面板、文本框、列表框、按钮、图片、监听事件、鼠标、键盘事件、破解工具 一、简介 GUI...

网友评论

      本文标题:1.1 GUI - 从图片开始

      本文链接:https://www.haomeiwen.com/subject/xdctmqtx.html