OpenCV

コンピュータ

RGB形式の画像をグレースケールに変換するpythonスクリプト

このスクリプトは基本グレースケールで一部赤色でコメントが書き込まれている画像があり、その画像を完全なグレースケールにする必要があり作成しました。出力される画像のコメント部分は不要でしたので白色に置き換えています。 処理対象の画像ファイルは2...
コンピュータ

PythonでOpenCVとnumpyを使って画像の分割と結合

「SwinIR」というソフトで画像を拡大しようとしたところ、私の環境ではVRAMが不足で実行できませんでした。 同梱の小さめの画像は成功するので、画像を分割して「SwinIR」を実行し、その結果を再結合すれば目的を達成できるのではと思い「画...
コンピュータ

PythonのOpenCVの各種フィルタを一覧表示するHTMLを作成するスクリプト

OpenCVでフィルタをいろいろ試してみるために作成しました。 import cv2 import numpy as np import os # HTMLのtitleとbodyを引数にヘッダと末尾を追加してHTMLを生成 def make...
コンピュータ

Python画像に文字列を描き込み【OpenCV】

画像上に文字列を描きこむサンプルです。 import cv2 import numpy as np # 画像に文字列を描きこみ def write_string(img, str): # 四角形(白色で塗りつぶし) cv2.rectangl...
コンピュータ

Python-OpenCV画像ファイルを読み込み表示し入力待ちをする。

pythonスクリプトからOpenCV使って画像を加工した場合、その結果を確認するため画像を表示したい場面があります。 個人的に一括処理で複数のファイルを取り扱う場合が多いので、ウィンドウが自動的に閉じてくれると都合が良いです。 impor...
コンピュータ

Python-OpenCVでグレースケール画像の色ごとの画素数をカウント

スクリプト import cv2 import numpy as np # # グレースケール画像の色ごとの画素数をカウント # infile = 'H:/py/old/20210215/jpeg/00190.jpeg' img = cv2...
コンピュータ

PythonのOpenCVで動画ファイルから指定フレームを画像として抽出

動画再生位置の移動(シーク)方法を調べてみました。確認のため移動したフレームを画像として抽出してみました。 #!/usr/bin/env python3 import cv2 file = "H:\py\sample.mov" vc = c...
コンピュータ

Python画像を中心から指定サイズで切り出し【OpenCV・Numpy】

多分Numpyの機能だとは思うのですが、imgで切り出しをしています。 #!/usr/bin/env python3 # coding: utf8 import cv2 import numpy as np import os, glob ...
コンピュータ

Python-OpenCVでグレイスケール画像をカラーに変換【GRAY2RGBA一括変換】

OpenCVのcvtColorを使って8bitのグレースケール画像を32bitのRGBAにフォーマットを変換します。 元がグレースケールの8bitですのでRGBAに変換しても見た目はグレースケールのままです。ファイルサイズ的には8bitのグ...
コンピュータ

Numpyのndarray型を使ったOpenCVの画像データ覚書

Pythonで画像データを操作する際numpyライブラリのndarray型を使います。 一見普通の配列と同じようにも思えますが、配列を操作に便利な機能が沢山あるようなので少しずつ調べて学びたいと思います。 ndarray型の初期化 初期値を...
コンピュータ

画像をn倍にリサイズし中心をクロップ

画像を加工した結果を比較するための拡大画像を作成する用途で作成しました。 import cv2 import numpy as np # # 画像をn倍して中心をクロップ # src_file = './sea.png' dst_file ...
コンピュータ

Python画像にアルファチャンネルを追加してみる。2

以前画像にアルファチャンネルを追加するPythonスクリプトを作成してみましたが、最近OpenCVのcvtColorでRGBAに変換してあげるほうが簡単なことに気が付きました。 import glob import os.path impo...
コンピュータ

PythonとOpenCVでアンシャープマスキング

#!/usr/bin/env python3 import cv2 import numpy as np def UnSharpMasking(gray, k=1.0): kernel = np.array(, , ]) dst = cv2...
コンピュータ

ハーフトーンを削除する方法を考える

スキャンした書籍の画像を、大き目のPCモニターに合わせてWaifu2xで拡大処理をしています。 印刷物などで点描で濃淡を表現する方法があり、ハーフトーンというらしいのですが、そのままWaifu2xで拡大すると、点が格子状の模様となって現れま...