小编ben*_*ano的帖子

将RGBA图像转换为Grayscale Golang

我目前正在开发一个程序,将RGBA图像转换为灰度图像.

我之前提出了一个问题并被引导到以下答案 - 更改单个像素的颜色 - Go lang图像

这是我原来的问题 - 将RGBA转换为灰度Golang的程序

我已经编辑了我的代码,所以它现在成功运行 - 但是输出的图像不是我想要的.它被转换为灰度,但像素都被搞砸了,使它看起来像旧电视上的噪音.

package main

import (
"image"
"image/color"
"image/jpeg"
"log"
"os"
)

type ImageSet interface {
Set(x, y int, c color.Color)
}


func main() {
file, err := os.Open("flower.jpg")
if err != nil {
    log.Fatal(err)
}
defer file.Close()

img, err := jpeg.Decode(file)
if err != nil {
    log.Fatal(os.Stderr, "%s: %v\n", "flower.jpg", err)
}

b := img.Bounds()

imgSet := image.NewRGBA(b)
for y := 0; y < b.Max.Y; y++ {
    for …
Run Code Online (Sandbox Code Playgroud)

rgb image-manipulation colors go grayscale

6
推荐指数
1
解决办法
6385
查看次数

通道元素类型太大 Golang

我正在编写一个并行处理矩阵的程序。

我的矩阵是使用常量创建的n。

const n = 10
Run Code Online (Sandbox Code Playgroud)

频道是用以下代码创建的:

a := make(chan [n][n]int)
Run Code Online (Sandbox Code Playgroud)

这适用于任何低于大约值的任何东西12,n但任何更大的东西都会出现以下错误:

channel element type too large (>64kB)
Run Code Online (Sandbox Code Playgroud)

查看教程等,似乎缓冲通道可能是解决此问题的方法,但我尝试使用以下代码执行此操作,并给出了相同的错误:

a := make(chan [n][n]int, 1000)
Run Code Online (Sandbox Code Playgroud)

我是正确使用缓冲通道还是它们不是解决此问题的方法?任何关于我如何推进这一点的提示都非常感谢。

编辑:继给出的答案和评论之后,我现在正在尝试创建一个全局矩阵,该矩阵是空白的并且 go 例程可以写入。

const n int = 1024

blank [n][n]int
Run Code Online (Sandbox Code Playgroud)

我不确定如何在全球范围内声明它,并已尝试通过上述方法解决此问题。是否需要全局初始化?我似乎尝试的一切都会出错。

arrays channel matrix go goroutine

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

在Golang中随机生成矩阵

我目前正在编写程序,并且想随机生成一个矩阵。

目前,我正在按以下方式预先设置值:

    m1 := [3][3]int{
    [3]int{1, 1, 1},
    [3]int{4, 1, 7},
    [3]int{1, 65, 1},
}
Run Code Online (Sandbox Code Playgroud)

但是我希望输入的值在1到100的范围内随机生成。

import "math/rand"
Run Code Online (Sandbox Code Playgroud)

我正在导入上述库并尝试利用它。

我试图使此工作正常,但是似乎没有任何进展。

    m1 := [3][3]int{
    [3]int{rand.Intn, 1, 1},
    [3]int{4, 1, 7},
    [3]int{1, 65, 1},
}
Run Code Online (Sandbox Code Playgroud)

我试图用上述解决方案完成它,以使第一个数字随机,但是出现以下错误。

cannot use rand.Intn (type func(int) int) as type int in array or slice literal
Run Code Online (Sandbox Code Playgroud)

任何帮助,不胜感激。

random matrix go

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

标签 统计

go ×3

matrix ×2

arrays ×1

channel ×1

colors ×1

goroutine ×1

grayscale ×1

image-manipulation ×1

random ×1

rgb ×1