小编Cnr*_*nrL的帖子

使用PIL渲染表情符号

我试图用推文制作图像,但其中一些包含Emojis.我正在使用PIL渲染我的图像和Symbola字体.

文本采用unicode utf-8编码,Symbola字体包含表情符号.这是代码的删节版本:

from PIL import Image, ImageFont, ImageDraw
text = u"\U0001f300" #CYCLONE emoji
image = Image.new("RGBA", (100,100), (255,255,255))
font = ImageFont.truetype("Symbola.ttf", 60, encoding='unic')
draw = ImageDraw.Draw(image)
draw.text((0,0), text, (0,0,0), font=font)
image.save("Test.png")
image.show()
Run Code Online (Sandbox Code Playgroud)

这只是渲染和图像有两个矩形而不是表情符号

将不胜感激任何帮助或想法.

谢谢!

编辑:正如falsetru所指出的,这段代码确实在Ubuntu中运行,但它不能在Windows或Mac上运行.有任何想法吗?

python unicode python-imaging-library emoji

8
推荐指数
1
解决办法
2093
查看次数

使用 julia 将图像从 RGB 转换为 HSL 并再转换回来

我一直在尝试打开一些 RGB 图像,将数据视为 HSL 像素的 2D 数组,操作 HSL 空间中的像素,转换回 RGB 并将操作后的图像写入文件。但是我不太明白(很棒的)julia 包“颜色”“图像”中的转换是如何工作的。

例如,我希望下面的代码(部分是按照这个SO问题的示例编写的)编写非常类似于此图像文件的内容(如test_1.png和test_2.png):

测试图像(粗毛)

然而,下面的代码实际上会产生更暗的图像:

从 RGB 转换为 HSL 并返回 RGB 后测试图像

我应该如何重新排列数组或图像以获得我期望的输出?

using Color, Images

# Download file, read it in, convert colourspace to HSL and recast as array
fname=download("https://farm9.staticflickr.com/8725/17074451907_2381037c7d_m_d.jpg")
rgb=imread(fname)
hsl=convert(Image{HSL},float32(rgb))
hslArr=reinterpret(data(hsl))

# I would like to manipulate HSL data here...

# Two ways to convert manipulated array back to HSL image
hsl_1=Image(hslArr; colorspace="HSL", colordim=1, spatialorder=["x","y"])
hsl_2=reinterpret(HSL{Float32},hslArr)

# Two ways to convert HSL image to RGB image 
rgb_1=convert(Image{RGB},hsl_1)
rgb_2=convert(Array{RGB{Float32}},hsl_2)

# …
Run Code Online (Sandbox Code Playgroud)

image colors type-conversion color-space julia

5
推荐指数
1
解决办法
1603
查看次数

拟合R中的多峰分布; 从拟合分布中生成新值

我正在使用小样本数据:

>dput(dat.demand2050.unique)  
c(79, 56, 69, 61, 53, 73, 72, 86, 75, 68, 74.2, 80, 65.6, 60, 54)    
Run Code Online (Sandbox Code Playgroud)

其密度分布如下:
pdf数据

我知道这些值来自两个方案 - 低和高 - 并且假设基础过程是正常的,我使用该mixtools包来拟合双峰分布:

set.seed(99)  
dat.demand2050.mixmdl <- normalmixEM(dat.demand2050.unique, lambda=c(0.3,0.7), mu=c(60,70), k=2)
Run Code Online (Sandbox Code Playgroud)

这给了我以下结果:
在此输入图像描述
(实线是拟合曲线,虚线是原始密度).

# get the parameters of the mixture
dat.demand2050.mixmdl.prop <- dat.demand2050.mixmdl$lambda    #mix proportions
dat.demand2050.mixmdl.means <- dat.demand2050.mixmdl$mu    #modal means
dat.demand2050.mixmdl.dev <- dat.demand2050.mixmdl$sigma   #modal std dev  
Run Code Online (Sandbox Code Playgroud)

混合参数是:

>dat.demand2050.mixmdl.prop  #mix proportions  
[1] 0.2783939 0.7216061  
>dat.demand2050.mixmdl.means  #modal means  
[1] 56.21150 73.08389  
>dat.demand2050.mixmdl.dev  #modal std dev  
[1] 3.098292 6.413906 
Run Code Online (Sandbox Code Playgroud)

我有以下问题:

  1. 要生成一组近似于基础分布的新值,我的方法是正确的还是有更好的工作流程?
  2. 如果我的方法是正确的,我如何使用此结果从此混合分布生成一组随机值?

r distribution random-sample mixed-models

4
推荐指数
1
解决办法
4616
查看次数

如何在Haskell中使用具体数据类型构建递归树?

我想在Haskell中构建一个树,每个节点都有一个具体的数据类型.最终我想构建和使用我自己的,更复杂的类型,但我无法弄清楚如何让下面的玩具示例工作.

我想创建一个整数树,从树干的大值开始,当你向下移动到树叶时变小.

data Tree x = Empty | Node x (Tree x) (Tree x) deriving (Show, Read, Eq) 

copyBox :: Int -> Tree x
copyBox x
    | x <= 0 = Node x Empty Empty
    | x > 0  = Node x (copyBox (x-1)) (copyBox (x-1)) 
Run Code Online (Sandbox Code Playgroud)

我希望能够像这样构建一个小树:

let newtree = copyBox 3
Run Code Online (Sandbox Code Playgroud)

ghci在第5行抛出错误"无法将预期类型'x'与实际类型'Int'匹配".

如果我用上面的更通用版本替换上面的函数声明,则没有问题:

copyBox :: (Ord x, Num x) => x -> Tree x
Run Code Online (Sandbox Code Playgroud)

为什么两种情况下x的类型都不是"Int"?

tree recursion haskell

0
推荐指数
1
解决办法
434
查看次数