Size: a a a

2020 May 11

AV

Alexander Vershilov in Haskell
хотя что-то не выходит preMapMaybe написать
источник

AA

A64m AL256m qn<co... in Haskell
Alexander Vershilov
хотя что-то не выходит preMapMaybe написать
я чет не понимаю зачем он тут
источник

AV

Alexander Vershilov in Haskell
А блин, туплю, тут не нужен
источник

AV

Alexander Vershilov in Haskell
но если бы я делал не each._3 а each
источник

AV

Alexander Vershilov in Haskell
дальше один fold делал бы по _3 типа Maybe Int, а другой по _4 Int
источник

AV

Alexander Vershilov in Haskell
В _3 мне нужно вызвать fromIntegral и пофильтровать Nothing
источник

AA

A64m AL256m qn<co... in Haskell
handles _Just ?
источник

AA

A64m AL256m qn<co... in Haskell
L.foldOver each ((,) <$> L.handles (_3._Just.to fromInteger) L.mean <*> L.handles _4 L.maximum) [(1,1,Just 1,1),(2,2,Nothing,2),(3,3,Just 3,3)]
(2.0,Just 3)
источник

AA

A64m AL256m qn<co... in Haskell
источник

AV

Alexander Vershilov in Haskell
О норм, спасибо
источник

ЕТ

Егор Ткаченко... in Haskell
привет, я не знаю хаскель и переписываю на питон алгоритм
https://github.com/Purview/purview/blob/develop/src/Graphics/Forensics/Analyser/LuminanceGradient.hs

в теории - есть картинка, мы ее переводим в градации серого, делим на блоки 3*3 пикселя,
затем находим градиент освещенности (самый светлый пиксель/ диагональ)
затем кодируем направление и длину вектора цветами r g b. получаем такую картинку


вопрос - как ищется этот градиент и как кодируется в rgb

в коде есть вертикальное и горизонтальное ядра свертки sobel
и что то похожее на функцию, но я не понимаю как это работает

{-# INLINE gradientColour #-}
gradientColour ::  Float -> Float -> RGBA Float
gradientColour gx gy =
 {- Computes a colour depending on the local light direction -}
 RGBA r g b 1.0
 where
   angle = atan2 gy gx
   r     = getR angle
   g     = getG angle
   b     = magnitude gx gy
   {-# INLINE magnitude #-}
   magnitude x y = sqrt (x * x + y * y)
   {-# INLINE getR #-}
   getR = (0.5 +) . (/ 2) . negate . sin
   {-# I
источник

AV

Alexander Vershilov in Haskell
Может лучше выучить haskell и не переписывть на питон?
источник

ЕТ

Егор Ткаченко... in Haskell
Alexander Vershilov
Может лучше выучить haskell и не переписывть на питон?
я всё пишу на питоне, хаскель вряд ли пригодится пока что
источник

֍֎

֍ ֎ in Haskell
Егор Ткаченко
привет, я не знаю хаскель и переписываю на питон алгоритм
https://github.com/Purview/purview/blob/develop/src/Graphics/Forensics/Analyser/LuminanceGradient.hs

в теории - есть картинка, мы ее переводим в градации серого, делим на блоки 3*3 пикселя,
затем находим градиент освещенности (самый светлый пиксель/ диагональ)
затем кодируем направление и длину вектора цветами r g b. получаем такую картинку


вопрос - как ищется этот градиент и как кодируется в rgb

в коде есть вертикальное и горизонтальное ядра свертки sobel
и что то похожее на функцию, но я не понимаю как это работает

{-# INLINE gradientColour #-}
gradientColour ::  Float -> Float -> RGBA Float
gradientColour gx gy =
 {- Computes a colour depending on the local light direction -}
 RGBA r g b 1.0
 where
   angle = atan2 gy gx
   r     = getR angle
   g     = getG angle
   b     = magnitude gx gy
   {-# INLINE magnitude #-}
   magnitude x y = sqrt (x * x + y * y)
   {-# INLINE getR #-}
   getR = (0.5 +) . (/ 2) . negate . sin
   {-# I
Дословный перевод:

def gradientColour(gx, gy):
 
angle = atan2(gx, gy)
 r = 0.5 + sin(angle) * -1 / 2

 
g = 0.5 + cos(angle) * -1 / 2
 b = sqrt(gx * gx + gy * gy)
 return rgba(r, g, b, 1.0)
источник

ЕТ

Егор Ткаченко... in Haskell
֍ ֎
Дословный перевод:

def gradientColour(gx, gy):
 
angle = atan2(gx, gy)
 r = 0.5 + sin(angle) * -1 / 2

 
g = 0.5 + cos(angle) * -1 / 2
 b = sqrt(gx * gx + gy * gy)
 return rgba(r, g, b, 1.0)
спасибо большое))
источник

DI

Dmitriy Ivanov in Haskell
F U
Подскажите, пожалуйста, насколько сложна реализация такой программы на хаскеле?
1. Поиск пути в лабиринте
Лабиринт представлен в виде текстового файла. Позиция символа (0,0) – вход в лабиринт, любой символ – стена. Проверить, есть ли выход из лабиринта и указать его координаты, если есть.
Решение выглядит как реализация поиска в глубину или в ширину. Не вижу ничего сложного на Хаскеле.
источник

IK

Ilya Kos in Haskell
источник

VZ

Vladislav Zavialov in Haskell
Пытаюсь понять пейпер про System FC.
источник

VZ

Vladislav Zavialov in Haskell
Там такое правило
источник

VZ

Vladislav Zavialov in Haskell
источник