Разбиване на матрица

dakata__92

Super Moderator
Имам един масив двумерен, който е реално една матрица и в него се съдържат информацията от едно изображение. Интересува ме как мога от масива да изрежа само кординатите на цифрите.
Ето го масива:
http://pastebin.com/ZBuG0UXz
Сред разписването на този масив с ето този метод:
PHP:
public function printPixelImage($pixelSize = 10)
	{
		$html = '<table style="border-collapse: collapse;">';
		foreach ($this->matrix as $y => $row) {
			$html .= '<tr>';
			foreach ($row as $x => $column) {
				$html .= '<td width="'.$pixelSize.'" height="'.$pixelSize.'" title="Hexadecimal Color: '.$this->matrix[$y][$x].'" bgcolor="'.$this->matrix[$y][$x].'"></td>';
			}
			$html .= '</tr>';
		}
		return $html.= '</table>';
	}
се получава ето това:
8358989R.png


Идеята ми е да преброя свободните (6 спейса) тоест по ред и колона и да се опитам да отделя 4-те цифри в отделни масиви с начални и крайни резултати. Моля помогнете. Идеята пак казвам ми е да изолирам цифрите от масива.
 
Никой ли няма идея как да отрежа цифрите от матрицата. Смисъл по Y ако имам начална и спираща точка то и редовете по X ако имат ще се получи отново матрица. :(
 
Здравей,
какво точно е записано в матрицата ? Не ми се гледа 1к сорс за да го 'налучкам'. Това 'битмап' ли е или някаква друга структура ?

Поздрави.
 
Не е 1к сорс...
Ако погледнеш метода, който е постнал, ще се ориентираш какво има в масива...

Какво точно искаш да "отрежеш"? Да разцепиш матрицата така, че да имаш само по едно число от нея?

Например един масив с 4 елемента, всеки от който съдържа число:

T.e. ако използваш метода, който си дал за $digit[3] =
zlwYKWf.png
 
Fakeheal каза:
Не е 1к сорс...
Ако погледнеш метода, който е постнал, ще се ориентираш какво има в масива...

Какво точно искаш да "отрежеш"? Да разцепиш матрицата така, че да имаш само по едно число от нея?

Например един масив с 4 елемента, всеки от който съдържа число:

T.e. ако използваш метода, който си дал за $digit[3] =
zlwYKWf.png
Да точно това желая да направя. От масива matrix желая да получа друг масив със съдържание на всяка една цифра. Тоест точно това което си дала, но незнам как да направя кода така че да се получи отрязването по дължина и ширина.
 
Значи първо махаш празните редове (отгоре и отдолу, които ги има).

След това взимаш само колоните, които имат нещо различно от space.

Ето моето решение:
http://laravel.io/bin/roQxx#87

Ползвай го така:

Код:
include('class.DigitsFromImageMatrix.php');

$matrix = []; //Тук сложи масива, който си пуснал във темата

$digitsExtractor = new DigitsFromImageMatrix($matrix);

$digitsExtractor->extract();

echo $digitsExtractor->format($matrix);
foreach ($digitsExtractor->digits as $digit) {
    echo $digitsExtractor->format($digit);
    echo '<br />';
}

Резултата при мен:
8373247q.png
 

Back
Горе