OpenCV-Python图像类型转换
简介OpenCV-Python图像类型转换是用cv2.cvtcolor()函数,用于将图像从一个颜色空间转换为另一个颜色空间。它的参数包括输入图像、目标颜色空间和转换方式。例如,将RGB图像转换为灰度图像可以使用cv2.COLOR_RGB2GRAY作为转换方式。
cv2.cvtColor()是OpenCV中的一个函数,用于将图像从一个颜色空间转换为另一个颜色空间。这个函数接受两个参数:输入图像和转换类型。转换类型总共有三百多种,常用的转换类型包括:
- cv2.COLOR_BGR2GRAY:将BGR图像转换为灰度图像
- cv2.COLOR_BGR2RGB:将BGR图像转换为RGB图像
- cv2.COLOR_BGR2HSV:将BGR图像转换为HSV图像
- cv2.COLOR_GRAY2BGR:将灰度图像转换为BGR图像
一、将BGR转换成灰度图像
import cv2
img1 = cv2.imread("./1-1.jpg", cv2.IMREAD_UNCHANGED)
img2 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行效果:
二、将BGR转换成RGB
import cv2
img1 = cv2.imread("./1-1.jpg", cv2.IMREAD_UNCHANGED)
img2 = cv2.cvtColor(img1, cv2.COLOR_BGR2RGB)
cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
三、将灰色图像转换成BGR
import cv2
img1 = cv2.imread("./1-gray.bmp", cv2.IMREAD_UNCHANGED)
img2 = cv2.cvtColor(img1, cv2.COLOR_GRAY2BGR)
cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
灰度图像转换成BGR图像,从图片上来看是看不出区别的,那么我们可以通过shape获取图片的属性.
import cv2
img1 = cv2.imread("./1-gray.bmp", cv2.IMREAD_UNCHANGED)
print(img1.shape)
img2 = cv2.cvtColor(img1, cv2.COLOR_GRAY2BGR)
print(img2.shape)
cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果:
E:\python\opencv\venv\Scripts\python.exe E:\python\opencv\main.py
(325, 520)
(325, 520, 3)
第一个是灰度图像的属性,只有行和列,第二个是转换后的,就包含了三个通道.
前一篇博客中已经说过Golang对Gzip的处理,其实这是我的服务器端的处理,那么当我们服务器返回Gzip压缩的字符串后,客户端如何进行解压呢?本文主要记录下JavaScript对Gzip进行压缩和解压处理。
Tauri 是一个框架,用于为所有主要桌面平台构建小巧、快速的二进制文件。开发人员可以集成任何可编译为 HTML、JS 和 CSS 的前端框架,以构建他们的用户界面。应用程序的后端是一个基于 Rust 的二进制文件,带有一个前端可以与之交互的 API。
Tauri 应用程序的用户界面目前在 macOS 和 Windows 上利用 tao 作为窗口处理库,在 Linux 上通过 Tauri 团队孵化和维护的 WRY 利用 WebKit、Windows 上的 WebView2 和 Linux 上的 WebKitGTK 创建一个统一的系统 webview(和其他好东西,如菜单和任务栏)接口。
网页扫描二维码库:Html5-Qrcode,官网地址:https://scanapp.org/html5-qrcode-docs/
最近想把公司的内网几台服务器能通过打开一个网站的方式进行管理,所以寻求了一圈最终选择了Teleport。Teleport,这是一个使用Go语言编写的,高效的现代SSH管理工具。
OpenCV-Python创建和显示窗口功能,主要介绍与窗口相关的函数,如:namedWindow、resizeWindow、imshow、waitKey。使用opencv创建窗口,需要用到namedWindow函数,上面的函数第一个参数为窗口名称,第二个为窗口的属性。创建窗口后设置窗口大小,设置窗口大小要使用resizeWindow,如果namedWindow函数第二个参数使用了WINDOW_AUTOSIZE,那么窗口不能进行修改大小了.
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题