\documentclass[a4]{jsarticle} \usepackage[dvipdfmx]{graphicx} \usepackage{listings} % Pythonコードの表示に使用
\begin{document}
\section{Pythonで画像処理を行う方法}
このセクションでは、OpenCVを使用して画像を処理する方法を説明します。特に、画像のリサイズ、領域の抽出、画素値の操作、矩形の描画を行うコードを紹介します。
\subsection{画像のリサイズ} 画像をリサイズする際には、縦横の比を維持しながら拡大または縮小することができます。以下は、リサイズ処理を行うPythonコードです。
\begin{lstlisting}[language=Python] import cv2
# 画像読み込み img = cv2.imread("neko.jpeg")
# リサイズ処理(縦横比を維持したまま拡大、縮小) r = 0.5 # 拡大縮小の割合 img = cv2.resize(img, None, fx=r, fy=r) # 縦横の比を維持したまま拡大、縮小 \end{lstlisting}
\subsection{注目領域の抽出} 画像から注目領域を切り取る方法を示します。以下のコードは、指定した座標範囲を切り取って新しい画像を作成します。
\begin{lstlisting}[language=Python]
# 注目領域の取得(始点y:終点y+1, 始点x:終点x+1) kaoimg = img[52:216, 189:365].copy() # 範囲取得した画像のコピーを作成
# 明るさの調整(0->127, 255->255にする) kaoimg = kaoimg // 2 + 127 # 画素値を調整 \end{lstlisting}
\subsection{画素値の操作} 画像処理における四則演算の効果を説明します。画素に対する足し算、引き算、割り算の効果を示すコードです。
\begin{lstlisting}[language=Python]
# 四則演算:足すと画素の値が増えて明るくなる、引くと暗くなる kaoimg = kaoimg // 2 + 127 # 画素値を調整 \end{lstlisting}
\subsection{矩形の描画} 指定した領域に矩形を描画する方法を紹介します。以下のコードでは、赤色の矩形を注目領域内に描画しています。
\begin{lstlisting}[language=Python]
# 矩形を描画(赤色、塗りつぶし) cv2.rectangle(kaoimg, (10, 10), (30, 30), (0, 0, 255), -1) # 赤色の矩形を描画 \end{lstlisting}
\subsection{画像の表示} 最後に、処理後の画像を画面に表示する方法です。
\begin{lstlisting}[language=Python]
# 処理後の画像を表示 cv2.imshow("Processed Image", kaoimg) cv2.waitKey(0) cv2.destroyAllWindows() \end{lstlisting}
\end{document}