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

.net怎么做网站网站的营销推广方案

.net怎么做网站,网站的营销推广方案,网站程序 不能创建文件夹,东莞规划局官方网站文章目录前言上代码1.1 复习读取和显示1.2 图像放大、缩小 cv2.resize()1.3 图像平移1.4 图像旋转1.5 图像仿射变换1.6 图像的裁剪1.7 位运算(AND, OR, XOR)1.8 图像的分离和融合1.9 颜色空间 color space前言 坦白说,这一章我认为是整个opencv系列最难的一张&…

文章目录

  • 前言
  • 上代码
    • 1.1 复习读取和显示
    • 1.2 图像放大、缩小 cv2.resize()
    • 1.3 图像平移
    • 1.4 图像旋转
    • 1.5 图像仿射变换
    • 1.6 图像的裁剪
    • 1.7 位运算(AND, OR, XOR)
    • 1.8 图像的分离和融合
    • 1.9 颜色空间 color space


前言

坦白说,这一章我认为是整个opencv系列最难的一张,学会这一章需要用到很多前置知识,而我对这章的认知也很浅薄,大家加油。
提纲如下,其中4的原理比较复杂,支撑是矩阵运算。 6,7,8理解起来都有点难度,是因为应用空间比较少,你也能知道怎么实现,但不知道用在哪。

  1. 图像放大、缩小;cv2.resize(img, None,fx=0.5,fy=0.5,interpolation=cv2.INTER_LINEAR) cv2.resize(img, (width2, height2), interpolation=cv2.INTER_LINEAR)
  2. 图像平移; cv2.warpAffine()
  3. 图像旋转;
  4. 图像仿射变换;
  5. 图像裁剪;
  6. 图像的位运算(AND, OR, XOR);
  7. 图像的分离和融合;
  8. 图像的颜色空间;

本章节内容适合在jupternotebook直接呈现

上代码

1.1 复习读取和显示

import cv2
import matplotlib.pyplot as plt
import numpy as np
img = cv2.imread("../images/logo.png")
plt.imshow(img)

在这里插入图片描述
上面的颜色不对是因为没有变化通道,可以看第一章

img_new = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img_new)

在这里插入图片描述

1.2 图像放大、缩小 cv2.resize()

图像放大、缩小 cv2.resize()

resize_img = cv2.resize(img, (width*2, height*2), interpolation=cv2.INTER_LINEAR)
plt.imshow(resize_img)

在这里插入图片描述

# cv2.resize() # 缩小, 扩大课缩小的两种方式啦 一个是传size的元组,一个是 传fx,fy的比例small_img = cv2.resize(img, None,fx=0.5,fy=0.5,interpolation=cv2.INTER_LINEAR)
plt.imshow(small_img)

在这里插入图片描述

1.3 图像平移

# 1 平移 cv2.warpAffine()
height,width = img.shape[:2]
M1 = np.float32([[1,0,10],[0,1,40]]) # 平移矩阵, 图像向右平移10个像素,向下移动40个像素
move_img = cv2.warpAffine(img, M1,(width,height))
plt.imshow(move_img)

在这里插入图片描述

1.4 图像旋转

height, width = img.shape[:2]
center = (width//2.0, height//2.0) # 渲染的中心
M3 = cv2.getRotationMatrix2D(center, 180 , 1) # 1 表示旋转过程中没有缩放
rotation_img = cv2.warpAffine(img,M3, (width, height))
plt.imshow(rotation_img)

在这里插入图片描述

1.5 图像仿射变换

就是一个图片的拉伸,旋转,扭曲的变化,通过矩阵乘法实现的,就是两个空间矩阵的作用,
简单理解2位空间就是 y=2x + 3, 沿着向量(2,3) 做一次移动
p1,p2 是自造的,可以使任意的值,在三个通道下,做三个(2,3)的移动

# cv2.getAffineTransform(p1,p2)
p1 = np.float32([[120,35],[215,45],[135,120]])
p2 = np.float32([[135,45],[300,110],[130,230]])
M4 = cv2.getAffineTransform(p1,p2) # 计算一个变换矩阵
trans_img = cv2.warpAffine(img,M4, (width,height))
plt.imshow(trans_img)

在这里插入图片描述

1.6 图像的裁剪

这个是最简单的一种变换

crop_img = img[20:140, 40:200]
plt.imshow(crop_img)

在这里插入图片描述

1.7 位运算(AND, OR, XOR)

按位与运输 或运输 非运算
计算机组成上或者C语言教材上的基本落脚点,逻辑控制/电路控制 没想到吧,图形控制也有我。

# 长方形
rectangle = np.zeros((300, 300), dtype='uint8')
plt.imshow(rectangle)
# 0 像素点代表黑

在这里插入图片描述

rectangle = np.zeros((300, 300), dtype='uint8')
# 255是填充颜色 ?? 未知
# -1 是填充的厚度, -1 是完全填充, 10是10像素填充 (25,25) 左上 (275,275) 右下 
rect_img = cv2.rectangle(rectangle,(25,25),(275,275),255,-1)
plt.imshow(rect_img)

rectangle = np.zeros((300,300), dtype='uint8')
# (150,150) 圆心, 150 半径 255,未知, -1 完全填充
circle_img = cv2.circle(rectangle,(150,150),150,255,-1)
plt.imshow(circle_img)

# 与运算:cv2.bitwise_and(), 00:0 01:0, 10:0, 11:1 与运行时同性相吸
and_img = cv2.bitwise_and(rect_img,circle_img)
plt.imshow(and_img)

在这里插入图片描述

# OR 或运算 01:1, 10:1,00:0, 11:1  有1放行
or_img = cv2.bitwise_or(rect_img, circle_img)
plt.imshow(or_img)

在这里插入图片描述

# XOR 抑或运算 01:1 10:1 00:0  11:0 异性相吸
xor_img = cv2.bitwise_xor(rect_img,circle_img)
plt.imshow(xor_img)

在这里插入图片描述

1.8 图像的分离和融合

img = cv2.imread("../images/logo1.png")
plt.imshow(img)
B,G,R = cv2.split(img) # 分离

在这里插入图片描述

plt.imshow(B) #蓝色

在这里插入图片描述

plt.imshow(G) #蓝色

在这里插入图片描述

plt.imshow(R)

在这里插入图片描述

2.融化
# 2.融合
zeros = np.zeros(img.shape[:2],dtype="uint8")
plt.imshow(cv2.merge([zeros,zeros,R]))

在这里插入图片描述

plt.imshow(cv2.merge([B,zeros,zeros]))

在这里插入图片描述

plt.imshow(cv2.merge([zeros,G,zeros]))

在这里插入图片描述

1.9 颜色空间 color space

# 灰度
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(gray)

在这里插入图片描述

# HSV(色度、饱和度、纯度)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
plt.imshow(hsv)

在这里插入图片描述
名称
在开始之前,先明确一下Lab颜色空间(Lab color space)的名字:

  • Lab的全称是CIELAB,有时候也写成CIE Lab*
  • 这里的CIE代表International Commission on Illumination(国际照明委员会),它是一个关于光照、颜色等的国际权威组织。

通道
Lab是由一个亮度通道(channel)和两个颜色通道组成的。在Lab颜色空间中,每个颜色用L、a、b三个数字表示,各个分量的含义是这样的:

  • L*代表亮度
  • a*代表从绿色到红色的分量
  • b*代表从蓝色到黄色的分量

Perceptual uniform
Lab是基于人对颜色的感觉来设计的,更具体地说,它是感知均匀(perceptual uniform)的。Perceptual uniform的意思是,如果数字(即前面提到的L、a、b这三个数)变化的幅度一样,那么它给人带来视觉上的变化幅度也差不多。

Lab相较于RGB与CMYK等颜色空间更符合人类视觉,也更容易调整:想要调节亮度(不考虑Helmholtz–Kohlrausch effect,见下注)就调节L通道,想要调节只色彩平衡就分别调a和b。

注:Helmholtz–Kohlrausch effect是人眼的一种错觉——当色彩饱和度高时,颜色会看起来更亮

#lab
lab = cv2.cvtColor(img,cv2.COLOR_BGR2Lab)
plt.imshow(lab)

在这里插入图片描述

http://www.hkea.cn/news/769450/

相关文章:

  • 做原型网站枣庄网络推广seo
  • 品牌网站开发设计外贸网站平台
  • 网站做留言板网站推广在线
  • 长春服务好的网络营销seo网站推广的主要目的
  • 搜索引擎优化和关键词竞价广告的区别宿州百度seo排名软件
  • 一搜同志网站建设电话青岛网站seo优化
  • 官方做任务网站网络营销公司注册找哪家
  • django做视频网站网络营销推广专家
  • 国外手做网站搜索引擎推广的关键词
  • 网站建设商标注册多少类目域名注册免费
  • 哪里有网站设计公司长沙网络公司最新消息
  • 试描述一下网站建设的基本流程百度怎么发布短视频
  • 我现在有域名怎么做网站搜索关键词热度
  • 海外如何 淘宝网站建设快速seo整站优化排行
  • 代还信用卡网站建设赣州seo顾问
  • 响应式网站建设推广开网店
  • 成都专业网站推广公司优化大师优化项目有
  • 怎么用wordpress搭建网站百度关键词排名点
  • 外挂网站模板域名搜索引擎入口
  • 手机网站开发 pdfseo搜索引擎优化工作内容
  • 上海中小网站建设洛阳seo博客
  • 南宁网站建设公司哪家专业搜索引擎优化包括
  • 新疆住房与建设厅网站新产品推广方式有哪些
  • 做网站站怎么赚钱网络营销模式有哪些?
  • 南通城市建设集团有限公司网站南京谷歌推广
  • 南通网站定制方案怎么查找关键词排名
  • 权大师的网站是哪个公司做的百度做个人简介多少钱
  • 烟台网站建设设计软文广告经典案例100字
  • 做微信用什么网站广州百度seo代理
  • 网站建设目标 优帮云跨境电商营销推广