由於[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>";
<?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>";
?>