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

简单的网站开发模板营销型网站建设公司提供网站建设

简单的网站开发模板,营销型网站建设公司提供网站建设,wordpress 自定义投稿,产品市场推广方案范文图像中部分RGB可视化 今天室友有个需求就是模仿下面这张图画个示意图: 大致就是把图像中的一小部分区域的RGB值可视化了一下。他居然不知道该怎么画,我寻思这不直接秒了。 import cv2 as cv import numpy as np import matplotlib.pyplot as pltclass …

图像中部分RGB可视化

今天室友有个需求就是模仿下面这张图画个示意图:

在这里插入图片描述

大致就是把图像中的一小部分区域的RGB值可视化了一下。他居然不知道该怎么画,我寻思这不直接秒了。

import cv2 as cv
import numpy as np
import matplotlib.pyplot as pltclass Plotter:def __init__(self, img):self.img = imgself.range = None# 三个图的位置self.loc = [[0.01, 0.325, 0.35, 0.35],[0.375, 0.375, 0.25, 0.25],[0.71, 0.355, 0.29, 0.29],]self.dloc = [0.02, 0.02]  # 表格间距self.facecolor = plt.get_cmap("Accent")(range(3))  # 表格颜色def plot_img(self, fig):img_range = self.rangeaxes = fig.add_axes(self.loc[0])axes.imshow(self.img, aspect="auto")axes.add_patch(plt.Rectangle((img_range[0], img_range[2]),img_range[1] - img_range[0],img_range[3] - img_range[2],fill=False,edgecolor="red",linewidth=2,))axes.axis("off")def plot_table(self, fig, table):loc = self.loc[2]dloc = self.dlocfacecolor = self.facecolorfor i in range(table.shape[2]):axes = fig.add_axes([loc[0] - dloc[0] * i, loc[1] - dloc[1] * i, loc[2], loc[3]],)axes.table(cellText=table[:, :, i],loc="center",cellColours=np.full((table.shape[0], table.shape[1], 4),facecolor[i],dtype=self.facecolor[0].dtype,),bbox=[0, 0, 1, 1],)axes.axis("off")def plot_range_img(self, fig, range_img):axes = fig.add_axes(self.loc[1])axes.imshow(range_img, aspect="auto")axes.set_xticks([])axes.set_yticks([])spines = ["left", "right", "bottom", "top"]for spine in spines:axes.spines[spine].set_color("r")def plot_path(self, axes, x1, x2):x = np.linspace(x1[0], x2[0], 100)y = np.linspace(x1[1], x2[1], 100)axes.set_xlim(0, 1)axes.set_ylim(0, 1)axes.plot(x, y, "r--")def range_points_on_img(self):img_range = self.rangeloc = self.loc[0]luloc = loc[0] + img_range[0] / self.img.shape[0] * loc[2]# axes坐标系y轴方向相反ldloc = loc[1] + (self.img.shape[1] - img_range[2]) / self.img.shape[1] * loc[3]dx = (img_range[1] - img_range[0]) / self.img.shape[0] * loc[2]dy = (img_range[3] - img_range[2]) / self.img.shape[1] * loc[3]return [(luloc + dx, ldloc - dy), (luloc + dx, ldloc)]def plot_img2range(self, axes):img_points = self.range_points_on_img()range_points = [(self.loc[1][0], self.loc[1][1]),(self.loc[1][0], self.loc[1][1] + self.loc[1][3]),]print(img_points)self.plot_path(axes, img_points[0], range_points[0])self.plot_path(axes, img_points[1], range_points[1])def plot_range2table(self, axes):range_points = [(self.loc[1][0] + self.loc[1][2], self.loc[1][1]),(self.loc[1][0] + self.loc[1][2], self.loc[1][1] + self.loc[1][3]),]table_points = [(self.loc[2][0] - self.dloc[0] * 2, self.loc[2][1] - self.dloc[1] * 2),(self.loc[2][0] - self.dloc[0] * 2,self.loc[2][1] + self.loc[2][3] - self.dloc[1] * 2,),]self.plot_path(axes, range_points[0], table_points[0])self.plot_path(axes, range_points[1], table_points[1])def plot_line(self, fig):axes = fig.add_axes([0, 0, 1, 1])self.plot_img2range(axes)self.plot_range2table(axes)axes.axis("off")def plot(self, img_range):self.range = img_rangerange_img = self.img[img_range[0] : img_range[1], img_range[2] : img_range[3], :]fig = plt.figure()self.plot_img(fig)self.plot_range_img(fig, range_img)self.plot_table(fig, range_img)self.plot_line(fig)plt.show()if __name__ == "__main__":img_path = "lena_color_512.tif"img = cv.imread(img_path, cv.IMREAD_UNCHANGED)img = cv.cvtColor(img, cv.COLOR_BGR2RGB)p = Plotter(img)p.plot([255, 265, 255, 265])

其实就是先画三个主图,一个全部的,一个小范围内的,一个RGB值的表,然后画四根线就完事了。效果如下:

在这里插入图片描述

唯一要注意的是 Axes 坐标系和图像的坐标系中Y轴是相反的,然后其他 axes.imshowaxes.table 都让它填满整个 Axes 就好了,要不然它给你自适应了,不好算几根连线的位置。

这里写的时候没想好,按 copilot 生成的 img_range 形式写下去了,目前是 [x起点,x终点,y起点,y终点] 的格式,换成 [x起点,y起点,x范围,y范围] 会更统一一点。但也懒得改了,一小时的工作时间白嫖室友一顿必胜客,很舒服。

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

相关文章:

  • 商丘做微信网站sqwyy医院网站建设的规划方案
  • 企业网站建设及推广研究wordpress应用微信支付宝
  • 戴尔官方网站建设启示1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.
  • 河南建设网站做什么网站开发好
  • 潍坊米搜网站建设网站建设政务新媒体
  • 营销型网站的页面层级域名访问网站 过程
  • 西部数码官方网站网站地图html
  • 校园网站建设可行性分析黄金网站app免费视频下载
  • 书店网站模板如何不备案建网站
  • 做中介卖房子开哪个网站好听顺口的公司名字
  • 能盈利的网站门户类型的网站
  • 吉首建设局网站wordpress修改标签
  • 企业 手机门户网站wordpress 定义数据表
  • 做册子模板素材有哪些网站公司注册公司哪个好
  • 服务器网站打不开滨州做网站建设价格
  • 做商城网站价格家装在线设计平台
  • 广州哪个网站建设公司好做平面素材比较好的网站
  • h5网站程序网址备案
  • wordpress跳转手机站做推送用什么网站
  • 2019广东省工程建设网站网站制作中企动力公司
  • 老干支部网站建设方案免费做免费做人爱视频的网站
  • 织梦网站优化丝路建设网站
  • da面板做两个网站wordpress伪原创设置
  • 西安市建设银行网站番禺建设网站平台
  • 一个ip做网站wordpress写文章页面无法显示
  • 东西湖区建设局网站网站后台怎样批量上传
  • 建设网站是不是要买服务器花店网站开发设计的项目结构
  • 杨幂做的网站广告小程序注册后怎么使用
  • 哪个网站可以做担保交易wordpress建的网站吗
  • 网站建设中ftp起什么作用哈尔滨最好的网站建设公司