2024-08-11



from PIL import Image
from pytesseract import image_to_string
 
# 设置tesseract.exe的安装路径
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
 
# 打开图像
image = Image.open('example.png')
 
# OCR识别
text = image_to_string(image)
 
# 打印结果
print(text)

这段代码展示了如何使用Python的Pillow库和pytesseract库来打开并识别图像中的文字。首先,你需要安装Pillow和pytesseract库。pytesseract.pytesseract.tesseract_cmd 设置了Tesseract-OCR的路径,这是一个Google开发的OCR引擎,用于文字识别。image_to_string 函数将图像转换为字符串,并返回识别的文本。

2024-08-11



# 导入Open3D库
import open3d as o3d
 
# 创建点云对象
pcd = o3d.geometry.PointCloud()
 
# 方法1:直接添加点
pcd.points.push_back([0, 0, 0])
pcd.points.push_back([1, 0, 0])
pcd.points.push_back([0, 1, 0])
 
# 方法2:从numpy数组创建点云
points = np.random.rand(100, 3)  # 生成100个随机3维点
pcd.points = o3d.utility.Vector3dVector(points)
 
# 法线估计
pcd.estimate_normals()
 
# 可视化点云
o3d.visualization.draw_geometries([pcd])

这段代码演示了如何使用Open3D库创建点云对象,并向其添加点。然后,它演示了如何从一个numpy数组创建点云,并使用estimate_normals函数估计每个点的法线。最后,代码使用Open3D的可视化工具展示了点云。

2024-08-11

在Python中安装本地的.whl文件,你可以使用pip命令。确保你已经安装了pip

打开命令行界面(在Windows上是CMD或PowerShell,在macOS或Linux上是Terminal),然后使用以下命令:




pip install /path/to/your_package.whl

/path/to/your_package.whl替换为你的.whl文件的实际路径。

例如,如果你的.whl文件位于当前目录,你可以这样安装:




pip install ./your_package.whl

确保你的pip版本是最新的,以便能够安装最新格式的.whl文件。如果你的pip不是最新版本,可以使用以下命令更新pip:




pip install --upgrade pip
2024-08-11



from sklearn.feature_selection import RFE
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
 
# 生成一个回归数据集
X, y = make_regression(n_features=10, n_informative=5, random_state=0)
 
# 初始化LinearRegression模型
model = LinearRegression()
 
# 初始化RFE,设置特征数为5,使用交叉验证
rfe = RFE(model, n_features_to_select=5, step=1, verbose=1)
 
# 在数据集上训练RFE
rfe.fit(X, y)
 
# 输出被选中的特征
print(f"Selected features: {rfe.support_}")
# 输出特征的排名
print(f"Feature ranking: {rfe.ranking_}")

这段代码首先使用sklearn.datasets.make_regression生成一个回归数据集,然后初始化一个LinearRegression模型和一个RFE特征选择对象。通过在数据集上训练RFE,我们可以得到被选中的特征和它们的排名。这是一个基本的例子,展示了如何使用RFE来进行特征选择。

2024-08-11

在Python中,输入和输出是最基本的编程操作。Python标准库提供了多个模块用于输入输出操作,如sys模块用于操作系统交互,json模块用于JSON数据的读写,pickle模块用于Python对象的序列化和反序列化等。

以下是一些常见的输入输出操作:

  1. 输入操作:

Python 2.x中原生的raw_input()函数用于获取用户输入,并将输入作为字符串。




name = raw_input("Please enter your name: ")
print "Hello, ", name

在Python 3.x中,raw_input()被重命名为input(),并且去掉了原来的raw_input()




name = input("Please enter your name: ")
print("Hello, ", name)
  1. 输出操作:

Python中的print函数用于输出。




print("Hello, World!")
  1. 文件操作:

Python中可以使用open()函数打开文件,并使用read()write()readline()等方法进行文件的读写操作。




# 写入文件
with open('output.txt', 'w') as f:
    f.write("Hello, World!\n")
 
# 读取文件
with open('output.txt', 'r') as f:
    print(f.read())
  1. JSON操作:

json模块提供了dump()load()方法用于JSON数据的读写。




import json
 
# 写入JSON数据
with open('data.json', 'w') as f:
    json.dump({'name': 'John', 'age': 30}, f)
 
# 读取JSON数据
with open('data.json', 'r') as f:
    data = json.load(f)
    print(data)
  1. Pickle操作:

pickle模块用于Python对象的序列化和反序列化。




import pickle
 
# 序列化对象
with open('object.pkl', 'wb') as f:
    pickle.dump({'name': 'Jane', 'age': 25}, f)
 
# 反序列化对象
with open('object.pkl', 'rb') as f:
    data = pickle.load(f)
    print(data)
  1. 格式化输出:

format()方法可以用于字符串的格式化。




name = "John"
age = 30
print("Hello, my name is {} and I am {} years old.".format(name, age))
  1. 系统操作:

sys模块提供了stdin, stdout, stderr等属性用于与系统标准输入输出进行交互。




import sys
 
# 从标准输入读取数据
name = sys.stdin.readline()
sys.stdout.write("Hello, " + name)

以上是Python输入输出操作的一些基本示例。实际应用中,可以根据需要选择合适的模块和方法进行操作。

2024-08-11



import pandas as pd
 
# 创建一个简单的DataFrame
data = {'Name': ['John', 'Anna', 'Peter', 'Linda'],
        'Age': [28, 23, 34, 29]}
df = pd.DataFrame(data)
 
# 打印DataFrame
print(df)
 
# 将DataFrame导出到CSV文件
df.to_csv('output.csv', index=False)
 
# 从CSV文件读取数据到DataFrame
df_from_csv = pd.read_csv('output.csv')
print(df_from_csv)
 
# 将DataFrame导出到Excel文件
df.to_excel('output.xlsx', index=False)
 
# 从Excel文件读取数据到DataFrame
df_from_excel = pd.read_excel('output.xlsx')
print(df_from_excel)
 
# 注意:在运行以上代码前,请确保你的环境中已安装pandas库。
# 安装命令:pip install pandas

这段代码展示了如何使用pandas库创建一个DataFrame,并对其进行基本操作,如打印、导出到CSV和Excel文件,以及从CSV和Excel文件读取数据。在运行这些操作前,确保已经安装了pandas库。

2024-08-11

在VSCode中安装Python及其第三方库(如NumPy, pandas, matplotlib等)的步骤如下:

  1. 确保你的系统中已安装Python。可以在终端中运行python --versionpython3 --version来检查Python版本。
  2. 如果未安装Python,请前往Python官网下载并安装合适的Python版本。
  3. 安装pip,Python的包管理器。通常,当你安装Python时,pip也会被安装。
  4. 打开VSCode,并打开一个包含.py文件的文件夹作为工作区。
  5. 在VSCode中,按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板。
  6. 输入并选择“Python: Select Interpreter”,从列表中选择你的Python解释器。
  7. 安装NumPy库,输入命令行:

    
    
    
    pip install numpy

    或者选择Python解释器后,在终端中输入同样的命令。

  8. 同理,安装pandas和matplotlib:

    
    
    
    pip install pandas
    pip install matplotlib

    你可以在VSCode的终端中运行这些命令,也可以在命令面板中输入并选择对应的Python: Install Python Package命令。

注意:如果你使用的是特定的Python环境(如Anaconda),确保你的VSCode终端使用的是正确的Python解释器,并在对应环境下安装库。

2024-08-11



import pandas as pd
 
# 创建一个简单的DataFrame
data = {'Name': ['John', 'Anna', 'Peter', 'Linda'],
        'Age': [28, 23, 34, 29]}
df = pd.DataFrame(data)
 
# 打印DataFrame
print(df)
 
# 将DataFrame导出到CSV文件
df.to_csv('output.csv', index=False)
 
# 从CSV文件读取数据到新的DataFrame
df_from_csv = pd.read_csv('output.csv')
 
# 打印新的DataFrame
print(df_from_csv)

这段代码展示了如何使用Pandas库创建一个简单的DataFrame,并对其进行打印和导出到CSV文件操作。然后,它展示了如何从CSV文件读取数据到新的DataFrame,并打印出来。这个过程是数据处理和分析的常见步骤,对于学习Pandas库的新手来说,这是一个很好的入门示例。

2024-08-11



import requests
from bs4 import BeautifulSoup
import re
 
# 获取B站用户上传视频的网页
def get_video_page(user_id):
    url = f'https://space.bilibili.com/ajax/member/getSubmitVideos?mid={user_id}&pagesize=30&tid=0&page=1&keyword=&order=pubdate'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
    response = requests.get(url, headers=headers)
    return response.text
 
# 解析视频信息
def parse_video_info(html):
    soup = BeautifulSoup(html, 'html.parser')
    video_list = soup.find_all('a', class_='title')
    for video in video_list:
        yield {
            'title': video.text.strip(),
            'url': 'https://www.bilibili.com' + video['href']
        }
 
# 下载视频
def download_video(video_url, video_title):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
        'Referer': video_url
    }
    response = requests.get(video_url, headers=headers)
    html = response.text
    video_url = re.findall(r'\"video_url\":\"(https:\/\/.*?)\"', html)[0]
    video_data = requests.get(video_url, headers=headers).content
    with open(f'{video_title}.mp4', 'wb') as file:
        file.write(video_data)
 
# 主函数
def main(user_id):
    html = get_video_page(user_id)
    for video in parse_video_info(html):
        print(video)
        download_video(video['url'], video['title'])
 
if __name__ == '__main__':
    user_id = 28376665  # 章若楠的B站ID
    main(user_id)

这段代码首先定义了获取B站用户上传视频的网页的函数get_video_page,然后定义了解析视频信息的函数parse_video_info,接着定义了下载视频的函数download_video,最后在main函数中调用这些函数来获取并下载章若楠的视频。这个例子展示了如何结合requests、BeautifulSoup和正则表达式来进行网页数据的抓取和处理。

2024-08-11

使用PaddleOCR进行文字识别并定位文字位置,你需要首先安装PaddlePaddle和PaddleOCR库,然后使用PaddleOCR提供的API进行操作。以下是一个简单的例子:




from paddleocr import PaddleOCR, draw_ocr
from PIL import Image
 
# 创建PaddleOCR对象
ocr = PaddleOCR(use_angle_cls=True, lang="ch")  # "ch"表示中文
 
# 读取图片
image_path = "example.jpg"  # 替换为你的图片路径
image = Image.open(image_path).convert('RGB')
 
# 运行OCR识别
boxes = []
txts = []
scores = []
 
# 识别图片中的文字
rec_res = ocr.ocr(image, cls=True)
 
for line in rec_res:
    boxes.append(line[0])
    txts.append(line[1][0][0])
    scores.append(line[1][0][1])
 
# 绘制文本框和文字
image_show = draw_ocr(image, boxes, txts, scores)
 
# 保存结果图片
image_show.save("output.jpg")

确保在运行此代码之前已经正确安装了PaddlePaddle和PaddleOCR库。




pip install paddlepaddle
pip install paddleocr

这段代码会识别图片中的文字,并将文字的位置标注在原图上,然后保存结果图片。记得替换example.jpg为你自己的图片路径。