iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 14
0
AI & Data

學習PHP Machine Learning的冒險歷程系列 第 14

[2020鐵人賽Day14]邂逅PHP Machine Learning-K-means 圖片分類(2) - 圖片轉樣本

前言

由於[2020鐵人賽Day13]邂逅PHP Machine Learning-K-means 圖片分類(1) - 載入圖片取得RGB與儲存圖片已經提到了如何取得RGB了,那接下來就是把相關數值轉為之後我們在K-means要用的樣本

實際操作

Step1. 宣告將儲存K-means RGB Sample的變數為陣列array

$kmeansRGBSample = array();

Step2. 將RGB值儲存在宣告的變數內

$kmeansRGBSample[] = [$image_R, $image_G, $image_B];

Step3. 印出數值,並觀察是否為一個二維陣列值

echo "<pre>";
print_r($kmeansRGBSample);
echo "</pre>";

完整Code

<?php
    $source_file = "test_image.jpg";
    $im = ImageCreateFromJpeg($source_file);
    $imgw = imagesx($im);
    $imgh = imagesy($im);
    $newFilename = md5(date("YmdHis")).".jpg";
    
    //宣告K-means RGB Sample
    $kmeansRGBSample = array();

    for ($i=0; $i<$imgw; $i++)
    {
        for ($j=0; $j<$imgh; $j++)
        {
            // 取得當前像素的RGB值
            $rgb = ImageColorAt($im, $i, $j);

            // 取得RGB的各別值
            $image_R = ($rgb >> 16) & 0xFF;
            $image_G = ($rgb >> 8) & 0xFF;
            $image_B = $rgb & 0xFF;
            $kmeansRGBSample[] = [$image_R, $image_G, $image_B];

            // 印出RGB各別值
            // echo "R:$image_R, G:$image_G, B:$image_B <br>";
        }
    }
    
    echo "<pre>";
    print_r($kmeansRGBSample);
    echo "</pre>";
?>

上一篇
[2020鐵人賽Day13]邂逅PHP Machine Learning-K-means 圖片分類(1) - 載入圖片取得RGB與儲存圖片
下一篇
[2020鐵人賽Day15]邂逅PHP Machine Learning-K-means 圖片分類(3) - 圖片分類與分布
系列文
學習PHP Machine Learning的冒險歷程30

尚未有邦友留言

立即登入留言