【PyCharm】Invalid Python SDK
先日、ubuntuを20.10から22.04.2にアップグレードした際に、Pycharmで開発中のプロジェクトで「Invalid Python SDK」のエラーがでて困った話。
何も考えずにホイホイとアップグレードして、痛い目に遭いました。
先日、ubuntuを20.10から22.04.2にアップグレードした際に、Pycharmで開発中のプロジェクトで「Invalid Python SDK」のエラーがでて困った話。
何も考えずにホイホイとアップグレードして、痛い目に遭いました。
HTMLタグのid属性は、同じページ内では重複してはいけないのですが、どうしても重複してしまう場合。
環境:python
リスト、多重リストから要素を取り出すには、リスト名の後にインデックス番号を記述します。
ボタンや要素をクリックしたとき、動画、オーディオの終了時、あるいは querySelectorall() を用いて要素の ID を取得する方法のメモ。
python, pandas でリストから None を削除する方法メモ。
月間データ分析をするための、月初めと月末の取得方法。
リスト型のデータから、累積和を求める方法。
環境は python で、for文 で記載するとコードがスッキリしなかったので、いい方法がないか調べてみました。
先日、python の defaultdict を用いて辞書の重複した値のキーの数を取得しました。
今回は pandas、django-pandas で、データをDataFrame形式にし、重複するデータの数を出して、飛び飛びになっている時系列データの欠損を埋めてみました。
例えば、次のようなモデルがあったときに、毎日いくつのデータが作られたのか知りたい。
そんな時に、defaultdictが便利だった。
以前 ffmpeg で動画・音声を合成する記事を記載しました。
今回は python の環境で ffmpeg を使用して動画の重ね合わせ、動画と音声の合成をやってみました。
Python、Pillow を使って画像を合成してみました(画像はいらすとやさんから)。
まず、Pillow をインストールします。
pip install pillow
画像の読み込みから、リサイズ、貼り付けまで、以下のサイトを参考にしました。
img

background_img

from PIL import Image, ImageDraw
def scale_to_width(img, width): # アスペクト比を固定して、幅が指定した値になるようリサイズする関数。
height = round(img.height * width / img.width) #横幅からアスペクト比をもとに高さを計算
return img.resize((width, height)) #リサイズし、return
img = Image.open("path/to/character_angel.png")
img.load()
image = Image.new("RGB", img.size, (255, 255, 255))
image.paste(img, mask=img.split()[3])
image.save("out_img.jpg","JPEG",quality=95)
out_img = Image.open("out_img.jpg")
background_img = Image.open("path/to/bg_heaven_tengoku.jpg")
img_resized = scale_to_width(out_img, 200)
mask = Image.new("L", img_resized.size, 0) #img_resizedと同サイズでLモードの画像を生成
draw = ImageDraw.Draw(mask) #maskの描画変数
draw.ellipse((0, 0, 200, 200), fill=255) #円を描画(left,upper,right,lower)で示す長方形に内接する円になる
mask.save('mask_circle.jpeg', quality=95)
background_img.paste(img_resized, (150, 20), mask) # 合成。第二引数は、貼り付ける位置。
background_img.save("final.png")
# background_img.save("final.jpeg", quality=95 )
合成された画像がこちら。
MoviePy で動画が編集できるということで、少し触ってみた。
本題の前に、前回記事にてサーバーにアップロードした webm ファイルを ffmpeg を使って mp4 に変換する際に、subprocess.call('', shell=True)のコードを紹介しました。
先日、ウェブカメラで撮影した動画を、直接サーバーに送る記事を記載しました。
動画をアップロードするまでは良かったのですが、MediaRecorder で録画した webm の duration が Infinity になり、MoviePy で読み込むことができず、動画を編集することができませんでした。
無料の動画編集ソフトでも動画にワイプ画面を追加できますが、MoviePyでもできるということで試してみました。
Python 又は JavaScript で QR コードを作り、html に表示する方法です。
検索機能に and 検索と or 検索の両方を付けて、ミュートした単語とリクエストユーザーをブロックしているユーザーのコンテンツを除外する機能を付けたくて、試行錯誤してみました。ついでに、複数のモデルでやってみました。
python に限らないと思いますが、for ループを回すときに、id の重複を防ぐ必要があります。