PHP および OpenCV ライブラリを使用して画像を回転し、パディングを維持する方法

WBOY
リリース: 2023-07-17 19:06:02
オリジナル
738 人が閲覧しました

PHP および OpenCV ライブラリを使用して画像を回転し、パディングを維持する方法

要約:
画像処理では、画像の回転は一般的な操作です。この記事では、PHP および OpenCV ライブラリを使用して画像の回転を実現し、パディングを維持する方法を紹介します。この機能の実装には、PHPの画像処理拡張ライブラリGDとOpenCVのPHP拡張ライブラリを利用します。この記事では、読者が理解して実践できるよう、詳細なコード例を提供します。

  1. はじめに
    画像処理は、コンピュータ ビジョン、画像認識などの分野で広く使用されています。その中でも画像の回転は画像処理の基本操作の一つです。しかし、従来の画像回転では画像の歪みやトリミングが発生することがよくあります。この問題を解決するには、画像を回転してパディングを保持し、回転した画像がそのまま残る方法を使用できます。
  2. 準備
    始める前に、PHP 画像処理拡張ライブラリ GD と OpenCV PHP 拡張ライブラリがインストールされていることを確認する必要があります。インストールされていない場合は、次のコマンドに従ってインストールできます:

    sudo apt-get install php7.4-gd
    sudo apt-get install php7.4-opencv
    ログイン後にコピー
  3. 画像回転コードの例
    これは、PHP と OpenCV ライブラリを使用して画像回転を実装し、塗りつぶしを続けるサンプル コードです:
<?php
// 加载OpenCV库
if (!extension_loaded('opencv'))
{
    dl('opencv.' . PHP_SHLIB_SUFFIX);
}

// 加载源图像
$srcImage = imagecreatefromjpeg('input.jpg');

// 源图像的宽度和高度
$srcWidth = imagesx($srcImage);
$srcHeight = imagesy($srcImage);

// 创建一个新的图像对象,大小为旋转后的图像大小
$newWidth = $srcHeight; // 宽度等于高度
$newHeight = $srcWidth; // 高度等于宽度
$dstImage = imagecreatetruecolor($newWidth, $newHeight);

// 旋转图像
$angle = 90; // 旋转角度
$bgColor = imagecolorallocate($dstImage, 255, 255, 255); // 填补颜色为白色
$dstImage = imagerotate($srcImage, $angle, $bgColor);

// 保存旋转后的图像
imagejpeg($dstImage, 'output.jpg');
?>
ログイン後にコピー

上記のコードは、input.jpg という名前のソース画像から画像を読み込み、回転された画像のサイズで新しい画像オブジェクトを作成します。このアルゴリズムは画像を 90 度回転し、白で塗りつぶします。最後に、回転した画像を output.jpg として保存します。

  1. 結論
    この記事では、PHP および OpenCV ライブラリを使用して画像の回転を実現し、パディングを維持する方法を紹介します。この機能は、PHPの画像処理拡張ライブラリGDとOpenCVのPHP拡張ライブラリを利用することで簡単に実装できます。この記事では詳細なコード例が提供されており、読者はコードに基づいて練習し、さらに詳しく調べることができます。

この記事の学習と実践を通じて、読者は PHP および OpenCV ライブラリをより深く理解し、適用して画像を回転し、塗りつぶし方法を維持できるようになります。この記事が読者の画像処理分野の研究と応用に役立つことを願っています。

以上がPHP および OpenCV ライブラリを使用して画像を回転し、パディングを維持する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート