Python関連のことを調べてみた

Python関連のことを調べてみた

Blender→Unity間でVAT(Vertex Animation Texture)を作成する

## はじめに
前回、VTF(Vertex Texture Fetch)の方法について解説しました。
[Blender→Unity間でVTF(Vertex Texture Fetch)を行いオブジェクトを変形させる](https://qiita.com/nekoco/items/5acf0af226f7c4cff46d)

簡単に言えば静止オブジェクトの頂点情報をテクスチャに書きこむことを行いました。

そこで、上記データをモーションフレーム毎に用意すればアニメーションデータすらも格納できることがわかります。

テクスチャを何枚も用意して切り替えるのは大変なので、1枚にまとめることが多いです。
また、そのテスクチャのことをVAT(Vertex Animation Texture)と言います。

それでは今回はBlenderにてVATを作成し、Unityで読みだすということをやっていきます。

やっていることはVTFの時とほとんど同じなので先にそちらを読んでおくとよいかもしれません。

# Blender
### テクスチャ作成
テクスチャクラスは前回作成したものを流用していきます。

元記事を表示

画像処理の疑似濃淡変換を理解する

# はじめに
※今回のサンプル画像として、[乃木坂46の西野七瀬さん](https://www.amazon.co.jp/%E8%A5%BF%E9%87%8E%E4%B8%83%E7%80%AC1st%E3%83%95%E3%82%A9%E3%83%88%E3%83%96%E3%83%83%E3%82%AF%E3%80%8E%E3%82%8F%E3%81%9F%E3%81%97%E3%81%AE%E3%81%93%E3%81%A8%E3%80%8F-%E8%A5%BF%E9%87%8E-%E4%B8%83%E7%80%AC/dp/4087808378)の写真を使用します。元がいい写真なので、今回の処理は蛇足です。

 画像の情報量を落として圧縮するための手法の一つに二値化があります。しかし、特定の閾値を基に処理を行う二

元記事を表示

【paiza】文字列収集 (paizaランク S 相当) 問題をPythonで実行・解説

# 本投稿の趣旨

以下の問題をpythonでコーディングの解説を行います。

https://paiza.jp/works/mondai/real_event/word_collection

:::note
問題
あなたは文字列の愛好家で、文字列を収集することにとても熱心です。

文字列は市場で高値で取引されています。今、市場には N 個の文字列が出まわっており、文字列 S_i (1 ≦ i ≦ N) の価格は P_i です。 あなたは数ある文字列の中でも、とくに先頭がある特定の文字列で始まる文字列に興味があり、そのような文字列をすべて買い占めたいです。例え、同じ文字列が複数売っていたとしてもそのすべてを買います。

そこで、市場に出回っている N 個の文字列 S_i とそれぞれの価格 P_i (i ≦ i ≦ N)、また、M 個のクエリ文字列 Q_i (1 ≦ i ≦ M) が与えられるので、それぞれのクエリ Q_i に対し、市場に出回っている文字列の中で先頭が Q_i で始まる文字列すべてを買い占めるのに必要な金額を出力するプログラムを作成してください。
:::
各変数や出

元記事を表示

Pythonのライブラリ一覧~アプリ作成編~

Pythonでアプリを作成する際には、アプリケーションの種類や目的に応じて使用するライブラリやフレームワークが異なります。本記事では、一般的な選択肢をいくつか紹介します。
# デスクトップアプリ
1. **Tkinter**
– 標準ライブラリで簡単なGUIアプリケーションを作成するのに便利です
– 学習コストが低く、小規模なプロジェクトに適しています
2. **PyQt/PySide**
– クロスプラットフォームで高度なGUIを構築可能
– 商用プロジェクトではライセンスに注意が必要です
3. **Kivy**
– マルチタッチ対応のアプリケーションを作成でき、モバイルアプリの開発にも適しています

# ウェブアプリケーション
1. __Flask__
– 軽量でシンプルなマイクロフレームワーク
– 小規模なウェブアプリやAPIサーバーを構築するのに適しています
2. __Django__
– フルスタックのウェブフレームワーク
– 大規模なウェブアプリケーションに適しており、認証や管理機能が組み込まれています

元記事を表示

ラズパイにnnablaをインストール2024年版

# 現行のラズパイOSにnnablaをインストールする
nnablaはSONYが公開しているニューラルネットワークコンソール(nnc)で作ったAIモデルをpythonで動かすためのライブラリです。

現行のラズパイOSはDebian12(bookworm)ベースのOSです。
python3.11がインストールされておりnnablaの対応版が3.8〜3.10なのでpipではインストールできない。
なのでnnablaを使いたい場合、前のOS使えば比較的簡単にはいるが、
今回は新しいOSに入れるため少し苦労するのでインストール方法をまとめておきます。

# まずは、ソースからインストールしてみる。
git clone https://github.com/sony/nnabla
でソースを持ってこれます。
これをコンパイルするにはcmakeでmakefileを作り、makeするとインストールモジュールを作ることができる。
具体的には
gitで展開したフォルダに、CMakeLists.txtがあるのでBuildフォルダを作成してBuildフォルダから
“`
cd Build
cmake ..

元記事を表示

Pythonを使用したメール送信スクリプトの作成

## はじめに

この記事では、Pythonを使用してメールを送信するスクリプトの作成方法を紹介します。このスクリプトは、JSONファイルから設定を読み込み、SMTPサーバーを介してメールを送信し、必要に応じてファイルを添付する機能を持っています。

サンプルコードはGitHubリポジトリで確認できます: [python-mail-sender](https://github.com/tonbiattack/python-mail-sender)

## 使用するライブラリ

このスクリプトでは以下のライブラリを使用しています。これらは標準ライブラリに含まれているため、追加のインストールは不要です。

– `json`: JSONファイルから設定を読み込むために使用します。
– `smtplib`: SMTPサーバーを介してメールを送信するために使用します。
– `email.mime`: メールの作成に必要な各種MIMEタイプを扱います。
– `os`: ファイルパスの操作やファイル名の抽出に使用します。

## スクリプトの概要

このスクリプトは以下の3つの主要な部分で構成されて

元記事を表示

いざ「pytest」の世界へ!現場のIT技術!~Pythonテスト駆動開発~

## はじめに

開発工程で知った素敵な技術フレームワークを紹介します!

Pythonで開発している時のテスト方法は何を使用していますか?

ソフトウェア開発において、テストは品質を保証するための重要なプロセスです。
Pythonでは、pytestが非常に人気のあるテストフレームワークとして広く使用されています。本記事では、書籍を参照しつつ、pytestの基本的な使い方、特にassert文を使ったテストの書き方を解説します。また、さまざまなテストパターンを実例とともに紹介し、テストコードを書く際のヒントを提供します。

![Technology Business.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1180499/e4c4d0be-8379-62d1-3985-f4c43278272f.jpeg)

## ざっくり理解

「Pythonで作成した関数をテストするツール」です!
①「関数に入力する仮データを準備する」
②「予め期待される値を準備する」
③これら①と②の二つを突合させるため

元記事を表示

Pythonのアドホック分析の型を考える

# はじめに

データサイエンティストの業務の中では、集計や可視化、簡易的なモデリングなど中心としたアドホックな分析を行うことがありますが、アドホック分析で品質を保つことは難しいと感じます。

第一に、アドホック分析は探索的な要素を多分に含むので、分析のスコープが変動することが多いです。例えば、集計の切り口やモデルのパラメータの設定を変更した上で、分析を再度実行し直すような場面に遭遇したりします。加えて、多くの場合データが綺麗ではありません。当然利用するデータソースに依存しますが、状況によっては整備されていないExcelファイルをベースに分析することもあったりします。

このような点でアドホック分析で品質を保つことは難しく、ともすると書き捨てのnotebookの山になってしまいがちです。本記事では、このような状況において少しでも品質を保ちつつ分析を行う方法について整理します。

# 方法

プロジェクトのディレクトリ構成の例。以下ではこのディレクトリに沿って説明します。

“`
.

├── data/ # データの格納場所
│ ├── raw/ # 生データ
│ ├─

元記事を表示

Discord BOTのPythonテンプレート

## はじめに

久しぶりにDiscordのBOTを作成しようと触ってたら、色々変わっていたので自分のメモがてらテンプレートを作成。簡単なスラッシュコマンドを実装しています。
私が使用しているdiscord.pyのバージョンは2.4.0です。

# 1.テンプレートの方針
* メイン・リスナー・コマンドはCogを利用して分ける。
* 環境変数は.envファイルを作成して外だしする。

# 2.ファイル構成
方針を踏まえてファイル構成は下記の通り。
“`ファイル構成
.
┣━ main.py
┣━ .env
┗━ cogs
  ┣━ commands.py
  ┗━ listenner.py
“`

# 3.各ファイルの内容

まずはmain.py。ここではBOT本体を記述しています。
load_extension関数を使用して、各cogを記載しているファイルを読み込んでいます。

“`python:main.py
import os
from dotenv import load_dotenv
from discord import Intents
from discord.e

元記事を表示

AtCoder Beginners SelectionにPythonで挑戦してみた B問題編

## はじめに

普段はSQLしか書いていないので、
Pythonの勉強がてらAtCoderに挑戦してみました。

自分の解答内容と軽い説明を記載します。
一応ACとれていますが、通っただけレベルのコードです。
きれいな正解を探している方は別のサイトをお勧めします。

そのうちメモリが軽い、コード量が少ない解答を見つけては
反省会したいと思います。

さすがにA問題は割愛します。

https://atcoder.jp/contests/abs

## B問題
### ABC081B – Shift only

“`python:ABC081B.py
a = int(input())
numbers = list(map(int, input().split()))
res = 0

while True:
even = []
for number in numbers:
if number % 2 == 1:
break
else:
even.append(number / 2)

if len(even) == a:
r

元記事を表示

[Windows / Python / OpenCV] ちゃんとファイルが存在するのに cv::findDecoder imread_ … : can’t open/read file: check file path/integrity が出たとき

# 概要

– opencv を使っていて、表題のエラーが発生した。
– 画像ファイル自体は確実に存在していることを確認したのに、エラー文には、ファイルが開けないようと書かれている。
– 原因がわからなくて困っていたが、なんとか原因を特定できたので共有する。

# 環境

項目|versionなど
–|–
OS|Windows10
python|3.8.10 (pyenv-win でインストール)
opencv-python|4.6.0.66
terminal|GitBash, VSCode

GitBash 上で実行したときも、VSCode 上で実行したときも、全く同じエラーが発生していたので、おそらく **Windows OS 上で `cv2.imread()`** を実行すると同様の事象が発生すると思われる。

# 解決方法概要

– 開きたいファイルの名前(path 含む)を、半角の英数記号のみにすればよい。

# エラー発生状況

cv2 で、日本語名のついた画像ファイルを読み込もうとしたら以下のようなエラーが発生していた。

“`python:powershel

元記事を表示

【Python】TwitchのアーカイブからAPI経由で全コメントを取得する方法

## はじめに・注意事項
:::note warn
この記事の内容はTwitch公式で推奨されているやり方ではありません。
試す場合は自己責任でお願いします。
:::

## 概要
アーカイブコメントを集計・解析するツールを制作する際、Twitchアーカイブからコメントを取得するのに意外と時間がかかったので記録。

## 技術スタック
– OS:Windows11
– 言語:Python3
– IDE:VSCode

## Twitchのコメント数を取得する

一番最初にたどり着いた記事がこちら↓

https://qiita.com/kanekom/items/42ed3cd079fa5409ae58

しかし、`https://api.twitch.tv/v5/`というエンドポイントは2022年2月末をもって廃止となったとのこと。(以下Twitch公式ブログ)

https://blog.twitch.tv/en/2021/07/15/legacy-twitch-api-v5-shutdown-details-and-timeline/

2024年8月時点では`https://

元記事を表示

wslでmanim その9

# 概要
wslでmanimやってみた。
練習問題やってみた。

# 練習問題
sin,cosをわかりやすく、説明せよ。

# 成果物

![SineCosine_Curve_ManimCE_v0.18.1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/66b5463f-b07a-11ed-edd9-5685b6f72715.gif)

# サンプルコード

“`
from manim import *

class SineCosine_Curve(Scene):
def construct(self):
self.show_axis()
self.show_circle()
self.move_dot_and_draw_curve()
self.wait()
def show_axis(self):
x_start = np.array([-6, 2, 0])
x_end = np.array([3, 2, 0])
y_start = np.array

元記事を表示

Hideの記事をまとめてPDF化 (自分のマガジンで練習)

# Pythonを使用したWebスクレイピングとPDF変換の総合ガイド

## はじめに

こんにちは!今回は、Pythonを使って特定のWebサイトから記事のリンクを抽出し、HTMLとして保存し、さらにPDFに変換する方法を詳しく解説します。このテクニックは、ブログの記事アーカイブ作成、オンラインドキュメントの保存、研究資料の収集など、様々な場面で活用できます。

本記事では、単なるコードの説明だけでなく、各ステップの詳細、起こりうる問題とその解決方法、さらには応用例まで幅広くカバーします。Webスクレイピングの初心者から中級者まで、きっと新しい発見があるはずです。

## 必要な環境とライブラリ

まず、以下の環境とライブラリが必要です:

1. Python 3.7以上
2. Selenium
3. WebDriver Manager
4. Requests
5. pdfkit
6. wkhtmltopdf

### インストール方法

1. Pythonのインストール:
[Python公式サイト](https://www.python.org/downlo

元記事を表示

ラズパイPico WでLEDチカチカ

Raspberry Pi Pico を入手して最初にやることは、Lチカ(LEDをチカチカさせる)だと思います。
これが、「Raspberry Pi Pico」と「Raspberry Pi Pico W」では、Pin番号の指定が違うので注意しましょう。

## Raspberry Pi Pico W / Raspberry Pi Pico WH

“`Python
from machine import Pin
import time

led = Pin(‘LED’, Pin.OUT) # Pico W は ‘LED’ と設定

for i in range(10):
led.on()
time.sleep(0.5)
led.off()
time.sleep(0.5)

print(“LEDチカチカを、10回やりました!”)
“`

## Raspberry Pi Pico / Raspberry Pi Pico H

“`Python
from machine import Pin
import time

led = Pin(25, Pin.O

元記事を表示

Praison AI: 次世代のAI Agent開発フレームワークをWindowsのOllamaで実行する

## はじめに

Praison AIは、複数のAIエージェントを組み合わせて複雑なタスクを解決する「マルチエージェントシステム」の開発を簡単に行えるフレームワークです。この記事では、WindowsでOllamaを使用してPraison AIを実行する方法を紹介します。

https://qiita.com/Tadataka_Takahashi/items/764421590550a7af765e

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/c58606d1-409f-170f-73ac-ffbbe2d23e19.png)

## 前提条件

– Windows 10 または Windows 11
– Python 3.8以上
– Git(オプション、ただしおすすめ)

## 手順

### 1. Ollamaのインストール

1. [Ollama公式サイト](https://ollama.ai/download)からWindows用インストーラーをダウンロードします

元記事を表示

WSLのpythonのバージョンを変更する

# はじめに
WSLには初めからpythonがインストールされていますが、デフォルトとしてPython3.10が入っています。
これを変更しようとしてpyenvを使ってみたのですが、なぜかうまくいきませんでした。
自分の知識がまだ不十分なせいだと思うのですが・・・

そこで別の方法で変更したのでその手順についてメモとして書き残しておきます。

## 自分の環境について
– Ubuntu 22.04.4
– Python3.10.12, Python3.11.9, Python3.12.4 が入っています

“`shell-session
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.153.1-microsoft-standard-WSL2 x86_64)

xxx@DESKTOP:~$ python3.11 –version
Python 3.11.9
xxx@DESKTOP:~$ python3 –version
Python 3.10.12
xxx@DESKTOP:~$ python3.12 –version
Python 3

元記事を表示

Praison AI: 次世代のAI Agent開発フレームワーク

## はじめに
AI技術の急速な進歩に伴い、複数のAIエージェントを組み合わせて複雑なタスクを解決する「マルチエージェントシステム」が注目を集めています。本記事では、そのような次世代のAI Agent開発を簡単に行えるフレームワーク「Praison AI」について紹介します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/0b529f55-e08f-ae64-844a-bb44227c7a98.png)

## Praison AIとは

Praison AIは、AutoGenやCrewAIなどのエージェントフレームワークを活用した、ローコードで集中型のフレームワークです。様々なLLM(大規模言語モデル)アプリケーションのためのマルチエージェントシステムの作成とオーケストレーションを簡素化することを目的としています。

特徴:
– 使いやすさ
– カスタマイズ性
– 人間とエージェントの対話重視

![image.png](https://qiita-image-sto

元記事を表示

AIで自分だけのバッジを集めよう!子供と一緒に楽しめる「Happy Badge」

## はじめに

突然ですが、「[ヘイ!ダギー](https://tv.disney.co.jp/junior/program/20/heyduggee.html)」をご存じでしょうか。
Disney制作の知育アニメなのですが、子供がどハマりするついでに私もハマっています。
非常にコミカルでポップ、軽快な音楽とストーリーで飽きずに観ていられます。

> ※公式サイトより抜粋
犬のダギーのチビッコ園に、個性豊かでゆかいな子どもたちが大集合!
~中略~
みんな、優しく見守っていてくれるダギーが大好き! 一日の終わりには、頑張ったごほうびとしてダギーからバッジがもらえるんだ。

**「 頑張ったごほうびとしてダギーからバッジがもらえるんだ。」**

ということで、楽しくチャレンジをしていろんなバッジを集めることができるアプリを作ってみました。(Googleアカウントですぐに始められます!)

**Happy Badge**

![mockup.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649608/e7

元記事を表示

今日は何の日。燃えるゴミの日。GPUで圧力計算の並列化。

##### 前回のあらすじ。

https://qiita.com/tetsutakamurata76/items/b0597cd75747d2ad91e6

#### 3Dヒートマップを、各時間ステップごとに5つのグラフをプロットするように設定します。これにより、各ステップでの圧力分布の変化を3Dで視覚的に確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/a5ee4141-5759-c8a7-4761-46c67877cf66.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/5ac5db8a-836e-1ef5-138b-4a2140836aa1.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/258

元記事を表示

OTHERカテゴリの最新記事