当前位置: 首页 > news >正文

建设银行个人网站个人客户wordpress悬浮按钮插件

建设银行个人网站个人客户,wordpress悬浮按钮插件,vi设计样机,wordpress 评论 修改大家好,欢迎大家学习OpenCV4.8 开发实战专栏,长期更新,不断分享源码。 专栏代码全部基于C 与Python双语演示,专栏答疑群 请联系微信 OpenCVXueTang_Asst 本文关键知识点: OpenCV中默认imread函数加载图像文件&#…

大家好,欢迎大家学习OpenCV4.8 开发实战专栏,长期更新,不断分享源码。

专栏代码全部基于C++ 与Python双语演示,专栏答疑群 请联系微信 OpenCVXueTang_Asst

本文关键知识点:

OpenCV中默认imread函数加载图像文件,加载进来的是三通道彩色图像,色彩空间是RGB色彩空间、通道顺序是BGR(蓝色、绿色、红色)、对于三通道的图像OpenCV中提供了两个API函数用以实现通道分离与合并。

  • split // 通道分类
  • merge // 通道合并

扩展一下:
在很多CNN的卷积神经网络中输入的图像一般会要求[h, w, ch]其中h是高度、w是指宽度、ch是指通道数数目、OpenCV DNN模块中关于图像分类的googlenet模型输入[224,224,3]表示的就是224x224大小的三通道的彩色图像输入。

更正一下代码里面的内容关于mixchannels的 Python版本用法,参考如下代码即可:

dst = np.zeros(src.shape, dtype=np.uint8)
print(src.shape)
print(dst.shape)
cv.mixChannels([src], [dst], fromTo=[2, 0, 1, 1, 0, 2])
cv.imshow("output4", dst)

解释:

  1. mixchannels使用前必须先分配好np图像对象
  2. 前两个参数是图像数组!

在图像处理领域,通道分离(split)与合并(merge)是两个基础且重要的操作,它们允许对图像的各个颜色通道进行单独处理或修改。以下是对这两个操作的详细解释:

通道分离(split)

通道分离是指将彩色图像分解成其组成的单个颜色通道。在大多数图像处理库中,如OpenCV,彩色图像通常表示为三个通道的集合:红色(R)、绿色(G)和蓝色(B),尽管在某些情况下也可能使用其他色彩空间(如HSV或YUV),但BGR是最常见的。

  • 功能:使用split函数可以将彩色图像分成R、G、B三个单通道图像,从而方便对这三个通道分别进行操作。
  • 示例:在OpenCV中,可以使用cv.split(src)函数来实现通道分离,其中src是需要分离通道的图像数组。分离后,会得到三个单独的数组,分别代表R、G、B三个通道。
  • 注意事项:通道分离是一个比较耗时的操作,因此应在真正需要时才使用。如果只需要修改多通道图像中的某个通道的值,可以考虑使用numpy等库直接操作数组,而不是进行通道分离。

通道合并(merge)

通道合并是指将分离后的单个颜色通道重新组合成一个彩色图像。这个过程是通道分离的逆操作。

  • 功能:使用merge函数可以将多个单通道图像合并成一个多通道图像。在OpenCV中,这通常用于将R、G、B三个通道重新组合成一个彩色图像。
  • 示例:在OpenCV中,可以使用cv.merge([b, g, r])函数来实现通道合并,其中bgr分别是代表蓝色、绿色和红色通道的数组。合并后,会得到一个新的彩色图像数组。
  • 应用场景:通道合并常用于图像处理中的多种场景,如图像增强、色彩校正、图像合成等。通过修改分离后的通道并重新合并,可以实现各种图像效果。
    在这里插入图片描述

总结

通道分离与合并是图像处理中的基础操作,它们允许对图像的各个颜色通道进行单独处理或修改。这些操作在图像增强、色彩校正、图像合成等领域具有广泛的应用价值。在使用这些操作时,需要注意它们的性能和资源消耗,并根据具体需求选择适当的处理方法。

演示代码

#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv;
using namespace std;int main(int argc, const char *argv[])
{Mat src = imread("D:/vcprojects/images/flower.png");if (src.empty()) {printf("could not load image...\n");return -1;}namedWindow("input", WINDOW_AUTOSIZE);imshow("input", src);vector<Mat> mv;Mat dst1, dst2, dst3;// 蓝色通道为零split(src, mv);mv[0] = Scalar(0);merge(mv, dst1);imshow("output1", dst1);// 绿色通道为零split(src, mv);mv[1] = Scalar(0);merge(mv, dst2);imshow("output2", dst2);// 红色通道为零split(src, mv);mv[2] = Scalar(0);merge(mv, dst3);imshow("output3", dst3);waitKey(0);return 0;
}

python 代码演示

import cv2 as cvsrc = cv.imread("D:/vcprojects/images/flower.png")
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)# 蓝色通道为零
mv = cv.split(src)
mv[0][:, :] = 0
dst1 = cv.merge(mv)
cv.imshow("output1", dst1)# 绿色通道为零
mv = cv.split(src)
mv[1][:, :] = 0
dst2 = cv.merge(mv)
cv.imshow("output2", dst2)# 红色通道为零
mv = cv.split(src)
mv[2][:, :] = 0
dst3 = cv.merge(mv)
cv.imshow("output3", dst3)cv.mixChannels(src, dst3, [2, 0])
cv.imshow("output4", dst3)cv.waitKey(0)
cv.destroyAllWindows()

结束语

学习贵在坚持,学习OpenCV贵在每一天的代码练习,原理跟基本的函数解释,相关知识,后续更新边学边理解,搞技术永远要坚持做长期主义者!我们一起努力!!!

专栏答疑群 请联系微信 OpenCVXueTang_Asst

http://www.yayakq.cn/news/840528/

相关文章:

  • 怎么做网站跟域名开发者头条
  • 个人做理财网站安徽省建筑业信息一体化平台网
  • 洛阳网站建设行业建设一个聊天类的网站
  • php网站 缓存wordpress修改固定链接后无法访问
  • 杭州北京网站建设公司专业工厂网站建设
  • 旅游网站的规划与建设开题报告网线制作原理
  • 江西城乡建设厅网站网站建设改版公司
  • 推广网站挣钱全自动网页制作
  • les做ml网站公司的网站如何做
  • 保险网站有哪些平台上海十大国企排名
  • 四川网络推广公司seo基础课程
  • 模版网站好吗成都营销型网站建设中账号
  • 沈阳网站制作建设株洲做网站需要多少钱
  • 网站建设定做建平台网站费用
  • 公司网站开发部署为什么wordpress有cookies
  • 电子商务网站建设与维护中职教材建设银行征信中心个人信用查询官方网站
  • 广州外贸网站制作微信wap网站
  • 网站建设的公司怎么收费网页图片大小怎么调整
  • 网站专题页面用什么做女装网站建设项目可行性分析表
  • 做数据新闻的网站有哪些建设网站大概要花多少钱
  • 初中学生做那个的网站lanyun网站开发
  • 现在学做网站赚钱吗wordpress评论钩子
  • apmserv网站模板四平网站建设服务
  • 商务网站建设公司哪家好四平网站建设怎么选
  • 网站的性能需求信阳工程建设一体化平台网站
  • 中网站建设青岛营销推广
  • 雄安网站开发网页设计与制作教程第四版课后答案
  • 网站建设的项目方案模板无代码建站软件
  • 网站建设公司出路学校网站群建设设计
  • 二类电商用网站怎么做H5页面中国seo公司