Статья: Применение языка программирования Python для решения отдельных задач технико-криминалистической экспертизы документов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Применение программного кода к исходному изображению позволило получить результат, представленный на рисунке 8: на изображении удалось прочитать слово «лето».

import cv2 // добавление библиотеки OpenCV

import numpy as np // добавление библиотеки NumPy и присваивание ей имени «np»

img = cv2.imread('image_5.jpg') // чтение файла «image_5.jpg» lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB) // преобразование цветового пространства изображения в Lab

l_channel, a, b = cv2.split(lab) // разложение изображения на три канала: яркость, диапазон цветов от красного до зеленого, диапазон цветов от желтого до синего

clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8)) // инициализация алгоритма CLAHE (адаптивного выравнивания гистограммы

с ограниченным контрастом)

cl = clahe.apply(l_channel) // применение алгоритма CLAHE к каналу яркости

l_img = cv2.merge((cl, a, b)) // объединение каналов изображения

enhanced_img = cv2.cvtColor(l_img, cv2.COLOR_LAB2BGR) // преобразование цветового пространства изображения в BGR

cv2.imwrite('test_5.jpg', enhanced_img) // сохранение результата преобразования в файл «test_5.jpg»

lut_in = [0, 50, 100, 150, 200, 255] // входной массив пикселей изображения

lut_out = [0, 255, 255, 255, 255, 255] // выходной массив пикселей изображения lut_8u = np.interp(np.arange(0, 256), lut_in, lut_out).astype(np.uint8) // преобразование массива пикселей изображения с помощью функции LUT (таблиц поиска)

image_contrasted = cv2.LUT(enhanced_img, lut_8u) // применение функции LUT к изображению

cv2.imwrite('test_5.jpg', image_contrasted) // сохранение результата выполнения функции LUT в файл «test_5.jpg»

При написании данного программного кода было принято во внимание следующее. В силу того что штрихи более темного цвета нанесены поверх штрихов более светлого цвета, для повышения контраста было необходимо выполнить ряд дополнительных действий. Сначала изображение было преобразовано в цветовое пространство Lab и разложено на каналы L (яркость), a (диапазон цветов от красного до зеленого), b (диапазон цветов от желтого до синего) [7, c. 171-172]. Затем к каналу яркости был применен алгоритм CLAHE - адаптивное выравнивание гистограммы с ограничением контраста. В качестве порога ограничения контраста (clipLimit) было задано значение 2.0, а в качестве количества блоков, на которое разбивается изображение для осуществления выравнивания (tileGridSize), - значение 8,8 (8 блоков в строке и 8 блоков в столбце). Далее каналы изображения были объединены с помощью функции cv2.merge, и получившееся изображение преобразовано в цветовое пространство BGR. Преобразование пикселей изображения с помощью функции LUT было выполнено аналогично предыдущему примеру.

Применение программного кода к исходному изображению позволило получить результат, представленный на рисунке 10. На изображении удалось прочитать слово «зима».

Рис. 10. Итоговое изображение

Таким образом, анализируя результаты эксперимента, следует заключить, что язык программирования Python является эффективным инструментом для решения отдельных задач технико-криминалистической экспертизы документов. С его помощью, благодаря применению библиотеки OpenCV, могут быть решены такие задачи, как выявление факта дописки; установление содержания записи, подвергшейся смыванию; содержания слабовидимой записи, образованной вдавленными неокрашенными штрихами; первоначального содержания рукописного текста, выполненного шариковой ручкой с пастой черного цвета и зачеркнутого шариковой ручкой с пастой синего цвета; первоначального содержания рукописного текста, выполненного шариковой ручкой с пастой синего цвета и зачеркнутого шариковой ручкой с пастой черного цвета.

Список источников

1. Баринова О. А., Купин А. Ф., Титаренко В. А. Установление факта изменения первоначального содержания документа методами цифровой обработки изображений // Судебная экспертиза. 2017. № 1 (49). С. 74-86.

2. Купин А. Ф., Дончук А. И. Использование растровых графических редакторов в технико-криминалистической экспертизе документов // Эксперт-криминалист. 2023. № 3. С. 29-31.

3. Жижина М. В. Возможности использования графических редакторов при работе с изображениями цифровых почерковых объектов, представленных в виде электронных файлов // Вестник Московского университета МВД России. 2023. № 3. С. 89-91.

4. Любанович Б. Простой Python. Современный стиль программирования. 2-е изд. Санкт-Петербург: Питер, 2021. 592 с.

5. Шакирьянов Э. Д. Компьютерное зрение на Python. Первые шаги. Москва: Лаборатория знаний, 2021. 163 с.

6. Демин А. Ю. Основы компьютерной графики: учеб. пособие. Томск: Изд-во Том. политехн. ун-та, 2011. 191 с.

7. Лютов В. П., Четверкин П. А., Головастиков Г. Ю. Цветоведение и основы колориметрии: учеб. и практикум для вузов. 3-е изд., перераб. и доп. Москва: Юрайт, 2022. 224 с.

References

1. Barinova O. A., Kupin A. F., Titarenko V. A. Establishing the fact of a change in the original content of a document using digital image processing methods. Forensic examination, 74-86, 2017. (In Russ.).

2. Kupin A. F., Donchuk A. I. The use of raster graphic editors in the technical and forensic examination of documents. Forensic expert, 29-31, 2023. (In Russ.).

3. Zhizhina M. V. Possibilities of using graphic editors when working with images of digital handwriting objects presented in the form of electronic files. Bulletin of the Moscow University of the Ministry of Internal Affairs of Russia, 89-91, 2023. (In Russ.).

4. Lyubanovich B. Simple Python. Modern programming style. 2nd ed. Saint Petersburg: Peter; 2021: 592. (In Russ.).

5. Shakiryanov E. D. Computer vision in Python. First steps. Moscow: Laboratory of Knowledge; 2021: 163. (In Russ.).

6. Demin A. Yu. Fundamentals of computer graphics. Textbook. Tomsk: Tomsk Polytechnic University Publishing House; 2011: 191. (In Russ.).

7. Lyutov V. P., Chetverkin P. A., Golovastikov G. Yu. Color science and the basics of colorimetry. Textbook and workshop for universities. 3rd ed., rev. and add. Moscow: Yurait; 2022: 224. (In Russ.).