OpenCV day2

Matplotlib相關知識

Matplotlib相關操作:

import numpy as np
from matplotlib import pyplot as pltx = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)# 使用紅色虛線,圓點標記,線寬1.5,標記大小為6繪制sin
plt.plot(x, y1,color="red",  # 紅色linestyle="--",  # 虛線marker="o",  # 圓點標記markersize=6,  # 標記大小為6linewidth=1.5  # 線寬1.5)#使用綠色實線,方形標記,線寬為2,標記大小為8繪制cos
plt.plot(x, y2,color="green",  # 綠色linestyle="-",  # 實線marker="s",  # 方形標記markersize=8,  # 標記大小為8linewidth=2  # 線寬為2)#顯示圖像
plt.show()

import numpy as np
from matplotlib import pyplot as plt# 生成100個隨機點
x = np.random.rand(100)
y = np.random.rand(100)# 點的大小根據x坐標值線性變化
sizes = 500 * x# 點的顏色根據y坐標使用'plasma'顏色映射
# 透明度為0.6,邊緣顏色為黑色
colors = plt.cm.plasma(y)
plt.scatter(x, y,s=sizes,  # 大小c=colors,  # 顏色alpha=0.6,  # 透明度edgecolors='black'  # 邊緣顏色)# 顯示圖像
plt.show()

import matplotlib.pyplot as plt
import numpy as npcategories = ['Apple', 'Banana', 'Cherry', 'Date', 'Eggplant']
values1 = [30, 25, 40, 15, 20]
values2 = [20, 30, 35, 25, 10]x = np.arange(len(categories))
width = 0.35  # 條形寬度# 繪制兩組并列的條形圖,第一組顏色為橙色,第二組顏色為紫色
# 條形寬度為0.35, 添加圖例
plt.bar(x - width/2, values1, width=width, color='orange', label='Group 1')
plt.bar(x + width/2, values2, width=width, color='purple', label='Group 2')
# 設置x軸刻度
plt.xticks(x, categories)plt.legend()
plt.show()

from matplotlib import pyplot as plt# 數據
sizes = [20, 30, 25, 15, 10]
labels = ['Category1', 'Category2', 'Category3', 'Category4', 'Category5']"""
繪制餅圖,要求:
突出顯示 Category2
顯示百分比,保留兩位小數
開始角度為 120 度
添加陰影
扇形邊緣顏色為黑色,線寬為1
"""plt.pie(sizes,labels=labels,  # 餅圖標簽autopct='%1.2f%%',  # 顯示百分比startangle=120,  # 開始角度shadow=True,  # 添加陰影wedgeprops={'edgecolor': 'black', 'linewidth': 1}  # 邊緣顏色和線寬)plt.show()

import numpy as np
from matplotlib import pyplot as plt# 生成2000個服從正態分布的隨機數
data = np.random.randn(2000)# 繪制直方圖,箱數為 40,顏色為橙色,透明度為0.6
# #設置合適的 x軸和 y軸標簽以及標題
plt.hist(data,bins=40,  # 設置箱數為40color='orange',  # 設置顏色為橙色alpha=0.6  # 設置透明度為0.6)plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram of Random Data')
plt.show()

import numpy as np
from matplotlib import pyplot as plt#生成三組數據,分別服從均值為0、1、2,標準差為1 的正態分布,每組150個數據
data1 = np.random.normal(0, 1, 150)
data2 = np.random.normal(1, 1, 150)
data3 = np.random.normal(2, 1, 150)
data = [data1, data2, data3]#繪制水平箱線圖,填充箱體顏色為綠色
plt.boxplot(data,vert=False,  # 設置箱線圖方向為水平patch_artist=True,  # 填充箱體顏色boxprops={'facecolor': 'green'}  # 設置箱體顏色為綠色)#設置合適的 x軸和 y 軸標簽以及標題
plt.xlabel('Value')
plt.ylabel('Group')
plt.title('Box Plot of Three Groups')
plt.show()

import matplotlib.pyplot as plt
import numpy as np#生成數據
x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)#創建一個1行3列的子圖
fig, axes = plt.subplots(1,3)
axes[0].plot(x, y1)
axes[1].plot(x, y2)
axes[2].plot(x, y3)
axes[0].set_title('Sine')
axes[1].set_title('Cosine')
axes[2].set_title('Tangent')
plt.tight_layout()
plt.show()

附加:

import numpy as np
import matplotlib.pyplot as plt# 原始圖像生成
# 創建一個700×700的圖像數組(RGB),初始全部為黑色
image_arr = np.zeros((700, 700, 3), dtype=np.uint8)# 定義每個格子的尺寸
cell_size = 100
line_width = 2  # 網格線寬度# 繪制白色網格線
# 橫向網格線
for i in range(0, 701, cell_size):image_arr[i:min(i + line_width, 700), :, :] = 255
# 縱向網格線
for j in range(0, 701, cell_size):image_arr[:, j:min(j + line_width, 700), :] = 255# 利用雙重循環遍歷每個網格(7×7格子)
# 如果滿足條件:對角線處格子 -> 填充紅色 
for i in range(1, 7):  # 行索引:1~6for j in range(1, 7):  # 列索引:1~6r_start = i * cell_size + line_widthr_end = (i + 1) * cell_size - line_widthc_start = j * cell_size + line_widthc_end = (j + 1) * cell_size - line_widthif (i == j or (i + j == 6)) and not (i == 6 and j == 6):image_arr[r_start:r_end, c_start:c_end, 0] = 255  # Rimage_arr[r_start:r_end, c_start:c_end, 1] = 0  # Gimage_arr[r_start:r_end, c_start:c_end, 2] = 0  # B# 分離并可視化 RGB 三個通道
# 方法一:為每個通道創建一個與原圖像相同大小的新數組,只保留該通道值,其他通道置0
image_red = np.zeros_like(image_arr)
image_green = np.zeros_like(image_arr)
image_blue = np.zeros_like(image_arr)# 分別拷貝對應通道
image_red[:, :, 0] = image_arr[:, :, 0]  # R通道
image_green[:, :, 1] = image_arr[:, :, 1]  # G通道
image_blue[:, :, 2] = image_arr[:, :, 2]  # B通道fig, axes = plt.subplots(1, 4, figsize=(12, 4))
axes[0].imshow(image_arr)
axes[0].set_title("image")axes[1].imshow(image_red)
axes[1].set_title("image_red")axes[2].imshow(image_green)
axes[2].set_title("image_green")axes[3].imshow(image_blue)
axes[3].set_title("image_blue")for ax in axes:ax.axis('off')plt.tight_layout()
plt.show()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/901459.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901459.shtml
英文地址,請注明出處:http://en.pswp.cn/news/901459.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【網絡安全】通過 JS 尋找接口實現權限突破

未經許可,不得轉載。 本文所述所有風險點均已修復。 文章目錄 引言正文引言 以下些漏洞已被起亞方面修復;起亞方面確認,這些漏洞從未被惡意利用過。 2024年6月11日,我們發現起亞汽車存在一系列嚴重安全漏洞,攻擊者僅憑車牌號即可遠程控制車輛的核心功能。該攻擊不需要接觸…

LabVIEW 發電機勵磁系統監測與診斷

在現代工業體系中,發電機作為關鍵的電能轉換設備,其穩定運行對于電力供應的可靠性起著決定性作用。而勵磁系統作為發電機的核心控制部分,直接影響著發電機的性能和電力系統的穩定性。一旦勵磁系統出現故障,可能引發發電機電壓波動…

MacOS紅隊常用攻擊命令

MacOS紅隊常用攻擊命令 1.自動化武器2.系統信息3.服務 & 內核信息4.快捷命令5.網絡相關6.brew相關 / 軟件包相關7.高權限命令8.創建一個管理員權限的后門用戶 1.自動化武器 1、linPEAS LinPEAS 是一個腳本,用于在 Linux/Unix/MacOS 主機上搜索提權路徑 2、me…

【數據結構_8】棧和隊列

一、反向輸出鏈表元素 Ⅰ使用遞歸進行反向輸出 package stack; public class Test2 {static class Node{public String val;public Node next;//構造方法public Node(String val) {this.val val;this.next null;}}//利用遞歸來反向輸出鏈表public static void reverse(Nod…

Java 正則表達式綜合實戰:URL 匹配與源碼解析

在 Web 應用開發中,我們經常需要對 URL 進行格式驗證。今天我們結合 Java 的 Pattern 和 Matcher 類,深入理解正則表達式在實際應用中的強大功能,并剖析一段實際的 Java 示例源碼。 package com.RegExpInfo;import java.util.regex.Matcher; …

蝦分發平臺平臺優勢

平臺優勢 高效與成本優化 一鍵分發與自動化工具減少人工操作,加速測試周期;免費分發流量和透明價格套餐降低中小團隊開支。 安全與合規 自研CDN與封裝技術平衡性能與安全性,適配復雜分發場景;全球CDN網絡加速保障極速下載。 服務…

c語言學習16——內存函數

內存函數 一、memcpy使用和模擬實現1.1參數1.2 使用1.3 模擬實現 二、memmove使用和模擬實現2.1 參數2.2 使用2.3 模擬實現 三、memset使用3.1 參數3.2 使用 四、memcmp使用4.1 參數4.2 使用 一、memcpy使用和模擬實現 1.1參數 因為內存中不知道存的是什么類型的地址&#xff…

TLA:用于接觸-豐富操作的觸覺-語言-動作模型

25年3月來自三星中國研發中心、中科院自動化所和北京智源的論文“TLA: Tactile-Language-Action Model for Contact-Rich Manipulation”。 視覺-語言模型已取得顯著進展。然而,在語言條件下進行機器人操作以應對接觸-密集型任務方面,仍未得到充分探索&…

【JavaEE】SpringBoot 統一功能處理

目錄 一、攔截器1.1 使用1.1 定義攔截器1.2 注冊配置攔截器 1.2 攔截器詳解1.2.1 攔截路徑1.2.2 攔截器執?流程 1.3 適配器模式 二、統一數據返回格式2.1 簡單用法2.2 問題及解決 三、統一異常處理 一、攔截器 攔截器:攔截器是Spring框架提供的核?功能之?&#…

【前端實戰】使用 BroadcastChannel API 實現跨標簽頁通信

一、引言 在現代 Web 應用開發中,我們常常會遇到需要在不同瀏覽器標簽頁之間進行通信的需求。例如,在一個電商應用中,用戶在一個標簽頁中添加商品到購物車,希望在其他標簽頁中也能實時顯示購物車的更新信息。傳統的實現方式可能會…

微信小程序 - [渲染層錯誤] Uncaught TypeError: Cannot read property ‘D‘ of undefined

問題:[渲染層錯誤] Uncaught TypeError: Cannot read property D of undefined 解決: 該錯誤可能還是小程序的渲染模式有關系,查看app.json中是否有如下配置,刪除即可,或者降低小程序調試基礎庫版本。

【MySQL高級】事務,存儲引擎,索引(一)

Mysql高級 DQL查詢語句 反引號 模糊查詢避免%出現在開頭,會造成索引失效 order by排序先后 表名列名都需要用${},他們不能帶’’ 去重統計數量 null的運算 分組函數會自動忽略null,不用對null進行處理 截取子串substr(字段,下標…

面試篇 - GPT-1(Generative Pre-Training 1)

GPT-1(Generative Pre-Training 1) ?模型結構 Transformer only-decoder:GPT-1模型使用了一個12層的Transformer解碼器。具體細節與標準的Transformer相同,但位置編碼是可訓練的。 注意力機制: 原始Transformer的解…

ubuntu24.04 cmake 報錯 libldap-2.5.so.0 解決辦法

apt cmake有毛病 換源重新安裝 wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add - sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" sudo apt update sudo apt in…

ScholarCopilot:“學術副駕駛“

這里寫目錄標題 引言:學術寫作的痛點與 AI 的曙光ScholarCopilot 的核心武器庫:智能生成與精準引用智能文本生成:不止于“下一句”智能引用管理:讓引用恰到好處 揭秘背后機制:檢索與生成的動態協同快速上手&#xff1a…

vivo X200 Ultra前瞻系列(2):vivo X200 Ultra影像技術溝通會總結

vivo于今日(2025年4月14日)舉辦的“X系列藍圖影像技術溝通會”中,正式發布了vivo X200 Ultra,展示了其在移動影像領域的多項技術突破。以下是本次溝通會的核心內容總結: 1. 硬件革新:蔡司三焦段鏡頭與雙芯架構 蔡司三大定焦大師鏡頭: X200 Ultra采用14mm超廣角(“鷹眼”…

代碼隨想錄第17天:二叉樹

一、二叉搜索樹的最近公共祖先(Leetcode 235) 由于是二叉搜索樹,節點的值有嚴格的順序關系:左子樹的節點值都小于父節點,右子樹的節點值都大于父節點。利用這一點,可以在樹中更高效地找到最低公共祖先。 c…

C++中string庫常用函數超詳細解析與深度實踐

目錄 一、引言 二、基礎準備:頭文件與命名空間 三、string對象的創建與初始化(基礎) 3.1 直接初始化 3.2 動態初始化(空字符串) 3.3 基于字符數組初始化 3.4 重復字符初始化 四、核心函數詳解 4.1 字符串長度相關 4.1.1 …

LanDiff:賦能視頻創作,語言與擴散模型的融合力量

自從 Wan 2.1 發布以來,AI 視頻生成領域似乎進入了一個發展瓶頸期,但這也讓人隱隱感到:“DeepSeek 時刻”即將到來!就在前幾天,浙江大學與月之暗面聯合推出了一款全新的文本到視頻(T2V)生成模型…

【本地圖床搭建】寶塔+Docker+MinIO+PicGo+cpolar:打造本地化“黑科技”圖床方案

寫在前面:本博客僅作記錄學習之用,部分圖片來自網絡,如需引用請注明出處,同時如有侵犯您的權益,請聯系刪除! 文章目錄 前言寶塔安裝DockerMinIO 安裝與設置cploar內網穿透PicGo下載與安裝typora安裝總結互動…