Обработка изображений

Brought by: Stepik

Overview

Курс начального уровня учит обработке изображений с помощью языка программирования Python. В курсе рассматриваются: устройство цифровых изображений, коррекция яркости и цвета изображения, фильтрация изображений, частотный анализ и устройство формата JPEG. Видео сопровождаются тестами и практическими заданиями на программирования, которые проверяются автоматически.

 

Syllabus

Введение


1.1 О курсе, технические требования

Устройство изображения. Работа с изображением в Python


2.1 Цифровое изображение. Чтение, запись, работа с пикселями


2.2 Арифметические операции. Каналы. Вычисление яркости изображения


2.3 Сопоставление фотографий Прокудина-Горского


Коррекция яркости и цвета


3.1 Линейная коррекция контраста


3.2 Коррекция контраста цветного изображения


3.3 Баланс белого. Модель «серого мира»


3.4 Выравнивание гистограммы


Фильтрация изображений



4.1 Операция свертки. Линейные фильтры


4.2 Медианный фильтр


Частотный анализ изображений


5.1 JPEG. Преобразование Фурье. Склейка изображений


Заключение



6.1 Заключительное видео

Taught by

Vlad Shahuro

Обработка изображений
Go to course

Обработка изображений

Brought by: Stepik

  • Stepik
  • Free
  • Russian
  • Certificate Not Available
  • Available at any time
  • All
  • N/A
8.1.2PHP Version341msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (214ms)
    • Application (126ms)
    • 1 x Booting (62.71%)
      214.01ms
      1 x Application (37.05%)
      126.44ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed6.03ms
      • select * from `courses` where `slug_en` = 'обработка-изображений' limit 1
        4.71ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. обработка-изображений
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-04 16:55:42' where `id` = 1784
        430μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-04 16:55:42
        • 1. 1784
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (1)
        220μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        170μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (35) and `institutions`.`deleted_at` is null
        150μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (33) and `providers`.`deleted_at` is null
        150μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 1775 limit 1
        200μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 1775
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        wVF91E6UEIM8o8WmfyWRAoPVIiPtMiW3SCANYsmP
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%8...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "13.58.229.242" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "13.58.229.242" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "94a8f5948ca3a3e2-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "13.58.229.242" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "13.58.229.242" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "94a8f5948ca3a3e2-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "34352" "REMOTE_ADDR" => "172.69.7.177" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1749056141.7966 "REQUEST_TIME" => 1749056141 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Wed, 04 Jun 2025 16:55:42 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IldIcEFpR0JMT2daaWNTT09PSi83NEE9PSIsInZhbHVlIjoiSjdKYVJwN1hRRzh5RWJYT2c2RzFySFUrS3N5ZlRRbkxkWXl0c21sWko3RXFoMGowbkQrcUlXUC92bTlKU0FWMXBkY1Q2K2wxNDBsaG1sUlJGY0VwYzhBS0FtWXVYOWtReEtiS2RxcldlYjY2UmVlRTFqUWU3MlFzMlY3U01jUTkiLCJtYWMiOiI1NTcwODE3NDU1YWE3NjU5OWMxODQ2ZmE0ZTgwZmFhOWVjYmU0MzI1NDI5Y2M5NWE4OGJjOGVlNDI1NWYwNWJmIiwidGFnIjoiIn0%3D; expires=Wed, 04 Jun 2025 18:55:42 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IldIcEFpR0JMT2daaWNTT09PSi83NEE9PSIsInZhbHVlIjoiSjdKYVJwN1hRRzh5RWJYT2c2RzFySFUrS3N5ZlRRbkxkWXl0c21sWko3RXFoMGowbkQrcUlXUC92bTlKU0FWMXBkY1Q2K" 1 => "laravel_session=eyJpdiI6InUrZzR1T2FxYTYxTHhQQTlBQlh1L0E9PSIsInZhbHVlIjoid1lXcGU1bzZYYVIzcGNtaUpxK3JGK3RLYlR0OUJlMVMxM2RIMmtjekR1TUh6dUVseUQzRkZ6ZkJ0TWkrUHYxTW5nbU5BaHphQ01ZTzEyRk5hMEJoWUM0TzN4bDRLWVJNM3d5dTVSWDcrM0hvUGxQZDBFUHRsdzRLRHg2Ylc3VFoiLCJtYWMiOiIxNzI3MmI5Y2JjZmQxNWNjMmQ2YWEyNWQwYmMzNmJjYTU4MzdkOGM1Mzc3MDJiNWUyYzBkOTliNGY5MWVhNjZiIiwidGFnIjoiIn0%3D; expires=Wed, 04 Jun 2025 18:55:42 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6InUrZzR1T2FxYTYxTHhQQTlBQlh1L0E9PSIsInZhbHVlIjoid1lXcGU1bzZYYVIzcGNtaUpxK3JGK3RLYlR0OUJlMVMxM2RIMmtjekR1TUh6dUVseUQzRkZ6ZkJ0TWkrUHYxTW5n" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IldIcEFpR0JMT2daaWNTT09PSi83NEE9PSIsInZhbHVlIjoiSjdKYVJwN1hRRzh5RWJYT2c2RzFySFUrS3N5ZlRRbkxkWXl0c21sWko3RXFoMGowbkQrcUlXUC92bTlKU0FWMXBkY1Q2K2wxNDBsaG1sUlJGY0VwYzhBS0FtWXVYOWtReEtiS2RxcldlYjY2UmVlRTFqUWU3MlFzMlY3U01jUTkiLCJtYWMiOiI1NTcwODE3NDU1YWE3NjU5OWMxODQ2ZmE0ZTgwZmFhOWVjYmU0MzI1NDI5Y2M5NWE4OGJjOGVlNDI1NWYwNWJmIiwidGFnIjoiIn0%3D; expires=Wed, 04-Jun-2025 18:55:42 GMT; path=/XSRF-TOKEN=eyJpdiI6IldIcEFpR0JMT2daaWNTT09PSi83NEE9PSIsInZhbHVlIjoiSjdKYVJwN1hRRzh5RWJYT2c2RzFySFUrS3N5ZlRRbkxkWXl0c21sWko3RXFoMGowbkQrcUlXUC92bTlKU0FWMXBkY1Q2K" 1 => "laravel_session=eyJpdiI6InUrZzR1T2FxYTYxTHhQQTlBQlh1L0E9PSIsInZhbHVlIjoid1lXcGU1bzZYYVIzcGNtaUpxK3JGK3RLYlR0OUJlMVMxM2RIMmtjekR1TUh6dUVseUQzRkZ6ZkJ0TWkrUHYxTW5nbU5BaHphQ01ZTzEyRk5hMEJoWUM0TzN4bDRLWVJNM3d5dTVSWDcrM0hvUGxQZDBFUHRsdzRLRHg2Ylc3VFoiLCJtYWMiOiIxNzI3MmI5Y2JjZmQxNWNjMmQ2YWEyNWQwYmMzNmJjYTU4MzdkOGM1Mzc3MDJiNWUyYzBkOTliNGY5MWVhNjZiIiwidGFnIjoiIn0%3D; expires=Wed, 04-Jun-2025 18:55:42 GMT; path=/; httponlylaravel_session=eyJpdiI6InUrZzR1T2FxYTYxTHhQQTlBQlh1L0E9PSIsInZhbHVlIjoid1lXcGU1bzZYYVIzcGNtaUpxK3JGK3RLYlR0OUJlMVMxM2RIMmtjekR1TUh6dUVseUQzRkZ6ZkJ0TWkrUHYxTW5n" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "wVF91E6UEIM8o8WmfyWRAoPVIiPtMiW3SCANYsmP" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]