Убираем шумы с фотографий в Opencart

Делаем фотографии на белом фоне чистыми и привлекательными

Убираем шумы с фотографий в Opencart
Качество фото «до» использования данного модуля и «после». Особо хорошо видны различия, если смотреть на изображение под углом. Фото взято с сайта Аниминус.ру

Как известно всем пользователям интернет-магазинов на движке Opencart, что при загрузке изображения на сайт оно проходит обработку во встроенном «ресайзере», который создаёт из оригинального изображения множество копий разного размера — миниатюр.

Работает с Opencart 1.5.x, Opencart 2.x, а также с ocStore 1.5.x и ocStore 2.x

При этом ресайзер сильно ухудшает качество исходного изображения, в результате чего на фото появляются паразитные шумы и различные неприятные пятна, которые делают из красивой фотографии отвратительную, поэтому я сделал модуль, который решает эту проблему.

Данный модуль позволяет значительно улучшить качество изображений путём исключения паразитного шума и пятен с загружаемых изображений.

В качестве положительного «побочного эффекта» от работы этого модуля наблюдается уменьшение «веса» финальных миниатюр, что при больших объемах фотографий значительно экономит место на хостинге.

Код и файл модуля для Opencart 1.5.x

Модуль работает с белым фоном и форматом изображений JPG/JPEG

Скопируй код ниже в файл с названием 1.5.X-remove-noise-gd и расширением .xml или скачай готовый файл ниже.

<?xml version="1.0" encoding="UTF-8"?>
<modification>
<id>1Z Удаление шума на белом фоне фотографий [1.5.X]</id>
<version>1.0.2</version>
<vqmver>1.1.0</vqmver>
<author>mrcivic</author>
<file name="system/library/image.php">
	<operation>
	<search position="after"><![CDATA[imagecopyresampled($this->image, $image_old, $xpos, $ypos, 0, 0, $new_width, $new_height, $this->info['width'], $this->info['height']);]]></search>
	<add><![CDATA[
        self::clearNoise($this->image, $width, $height);
	]]></add>
	</operation>
	<operation>
	<search position="before"><![CDATA[public function watermark($file, $position = 'bottomright') {]]></search>
	<add><![CDATA[
			
	public function clearNoise($newImg, $newWidth, $newHeight) {
		$colorWhite = imagecolorallocate($newImg, 255, 255, 255);
		for($y=0; $y<($newHeight); ++$y)
		{
			for($x=0; $x<($newWidth); ++$x)
			{
				$colorat=imagecolorat($newImg, $x, $y);
				$r = ($colorat >> 16) & 0xFF;
				$g = ($colorat >> 8) & 0xFF;
				$b = $colorat & 0xFF;
				if(($r == 253 && $g == 253 && $b == 253) || ($r == 254 && $g == 254 && $b ==254)) {
					imagesetpixel($newImg, $x, $y, $colorWhite);
				}
			}
		}
	}

	]]></add>
	</operation>
	<operation>
	<search position="after"><![CDATA[imagecopy($this->image, $image_old, 0, 0, $top_x, $top_y, $this->info['width'], $this->info['height']);]]></search>
	<add><![CDATA[
        self::clearNoise($this->image, $bottom_x - $top_x, $bottom_y - $top_y);
	]]></add>
	</operation>
</file>
</modification>

Скачать Удаление шума с фотографий Opencart 1.5.x под vQmod

Загрузи и установи файл модификатора через vQmod и очисти кэш модификаторов. Также обязательно необходимо очистить кэш изображений у тебя на сайте и в браузере.

Код и файл модуля для Opencart 2.x

Модуль также работает с белым фоном и форматом изображений JPG/JPEG

Скопируй код ниже в файл с названием 2.X-remove-noise-gd.ocmod и расширением .xml или скачай готовый файл ниже.

<?xml version="1.0" encoding="UTF-8"?>
<modification>
<name>1Z Удаление шума на белом фоне фотографий [2.x]</name>
<code>1Z Удаление шума на белом фоне фотографий [2.x]</code>
<version>1.0.1</version>
<author>mrcivic</author>
<link>https://opencartforum.com/user/716269-mrcivic/</link>

<file path="system/library/image.php">
	<operation error="skip">
	<search><![CDATA[public function watermark($watermark, $position = 'bottomright') {]]></search>
	<add position="before">
	<![CDATA[
	
	public function clearNoise($newImg, $newWidth, $newHeight) {
	    $colorWhite = imagecolorallocate($newImg, 255, 255, 255);
	    for($y=0; $y<($newHeight); ++$y)
	    {
	        for($x=0; $x<($newWidth); ++$x)
	        {
	            $colorat=imagecolorat($newImg, $x, $y);
	            $r = ($colorat >> 16) & 0xFF;
	            $g = ($colorat >> 8) & 0xFF;
	            $b = $colorat & 0xFF;
	            if(($r == 253 && $g == 253 && $b == 253) || ($r == 254 && $g == 254 && $b ==254)) {
	                imagesetpixel($newImg, $x, $y, $colorWhite);
	            }
	        }
	    }
	}
	
	]]></add>
	</operation>
	<operation error="skip">
	<search><![CDATA[imagecopyresampled($this->image, $image_old, $xpos, $ypos, 0, 0, $new_width, $new_height, $this->width, $this->height);]]></search>
	<add position="after">
	<![CDATA[
		self::clearNoise($this->image, $width, $height);
	]]></add>
	</operation>
	<operation error="skip">
	<search><![CDATA[imagecopy($this->image, $image_old, 0, 0, $top_x, $top_y, $this->width, $this->height);]]></search>
	<add position="after">
	<![CDATA[
		self::clearNoise($this->image, $bottom_x - $top_x, $bottom_y - $top_y);
	]]></add>
	</operation>
</file>
</modification>

Скачать Удаление шума с фотографий Opencart 2.x под Ocmod

Загрузи и установи файл модификатора через Ocmod-установщик в админке и следом очисти кэш модификаторов. Затем обязательно очисти кэш изображений в админке сайта и у себя в браузере.

Вывод

В качестве вывода можно сказать о том, что модуль «Удаление шума с фотографий Opencart» — необычайно полезная штука, которая повысит качество фотографий твоих товаров и услуг, предлагаемых на сайте, а в след за этим и конверсия увеличится. Людям нравятся красивые фотографии, а не пожеванные как, из жопы.

Плюс к этому модуль уменьшает объем миниатюр, что положительно отразится на количестве занимаемого места на хостинге и скорости их загрузки в браузерах клиентов.

Модуль работает только с изображениями в формате JPG/JPEG, которые имеют белый фон.

Если у тебя возникли вопросы, замечания и/или пожелания — напиши мне в комментариях к этой записи, я с радостью тебе отвечу!

Также почитать об этом модуле и скачать файлы ты можешь на OpenCartForum: https://opencartforum.com/files/file/4055-udalenie-shuma-s-fotografiy-na-belom-fone/

Плюсануть
Поделиться
Отправить
Запинить
Понравился этот пост? Поделись им в соцсети!
Популярное
Ваш комментарий
адрес не будет опубликован
HTML-код не интерпретируется

Ctrl + Enter