假设世界没有钱会怎么样?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了假设世界没有钱会怎么样?相关的知识,希望对你有一定的参考价值。

在人类社会中,钱是非常重要的。俗话说,“有钱能使鬼推磨”,许多人忙碌一生,只是为了挣更多的钱。毫无疑问,如果没有钱,一个人的境遇将会是悲惨的。

那么,你有没有想过,如果世界上所有的钱都消失了,生活又会变成什么样子的呢?

有社会学家认为,世人将会变得不那么贪婪,活得也不会那么累,但事实真的是这样么?我们来看一看经济学家们所做的预测吧。


商品交易将变得极其困难

如果世界上没有钱了,人们只能通过物物交换来各取所需。一个完整的物物交换系统必须拥有一个稳定的兑换率(类似不同货币之间的汇率),比如1千克羊肉等同于4升牛奶、5升食油、10千克大米。如果你走进一家很小的商店,里边只有羊肉、大米、牛奶、食油四种商品,那么你看到的商品价格单应该是一个4乘4的矩阵。

现在设想一下,如果我们把商品种类扩展到1000种(一个中型超市就可以拥有这么多商品),那么价格单中将会包含100万个项目对换方式。至于沃尔玛之类的大商店,你就不要去了,那里有超过10万种商品,每一种商品的价格单上将写满100亿种兑换率。

即使你弄清楚自己的货物能够兑换多少其他货物,商品交易仍然会是非常困难的。比如你去看一场电影,收银员告诉你,两张票需要10千克大米,难道你还要背一袋大米去电影院吗?

结果就是,很多商品交易都会流产。

经济活动很难再有安全感

当人们使用钱来做商品交易的时候,假钱的问题就一直存在,不过这个问题并不十分让人头疼,因为发行货币的当局能够集中人力和物力来解决它。

但是,如果你要拿几千克西红柿来换一箱牛奶,交易双方都很难合理地估计对方货物的品质。你会担心对方的牛奶是否掺了水,对方也担心你的西红柿是否足够成熟,结果交易双方都要进行商品验证。

如此一来,在经济活动中,每个人在每次交易都需要使用专门的工具来验证每个产品的品质,人们不可能再有安全感。

社会浪费增加,银行死翘翘

在物物交换中,人类创造的许多价值都会被浪费掉。

比如,许多物品本身是无法分割的,今天你用所有的财富换了一双鞋子,但明天,你想用你的部分财富去买一袋牛奶,你能只用一只鞋拿去做交易么?显然不行。对你来说,财富的价值根本无法充分发挥。

又比如,很多时候,你并不想用手头的A商品来兑换另一种B商品,你只是想得到一个可以在未来换取B商品的承诺。

金钱的优势在于,它们可以储蓄下来,在许多年之后仍然保存完好,但是许多物品做不到这一点。

比如,你今天工作了一天,挤出一箱牛奶,你希望用它换取下个月或者一年之后才出现的面包,但是,牛奶无法储蓄,你要么倒掉它,要么去换一些你并不需要的其他物品。

你无法储蓄价值,那么银行也会死翘翘,因为储存一般等价物(也就是钱)之外的任何物品对它来说都是没有意义的,银行终将灭亡。
参考技术A 钱只不过是为了方便物质交易得凭证而已钱只不过是为了方便物质交易得凭证而已 参考技术B 没有钱也不会怎么样,原始社会就没有钱不也是那样活了下来 参考技术C 陷入恐慌吧,

带有灰色世界假设的自动白平衡

【中文标题】带有灰色世界假设的自动白平衡【英文标题】:Automatic White Balancing with Grayworld assumption 【发布时间】:2017-09-24 13:52:51 【问题描述】:

我一直在尝试实现以下提供的白平衡算法: https://pippin.gimp.org/image-processing/chapter-automaticadjustments.html

我已经使用 python 和 opencv 来实现它们。我无法产生与网站相同的结果。

在灰色世界假设中,例如,我使用以下代码:

import cv2 as cv
import numpy as np

def show(final):
    print 'display'
    cv.imshow("Temple", final)
    cv.waitKey(0)
    cv.destroyAllWindows()

def saveimg(final):
    print 'saving'
    cv.imwrite("result.jpg", final)

# Insert any filename with path
img = cv.imread("grayworld_assumption_0.png")
res = img
final = cv.cvtColor(res, cv.COLOR_BGR2LAB)

avg_a = -np.average(final[:,:,1])
avg_b = -np.average(final[:,:,2])

for x in range(final.shape[0]):
    for y in range(final.shape[1]):
        l,a,b = final[x][y]
        shift_a = avg_a * (l/100.0) * 1.1
        shift_b = avg_b * (l/100.0) * 1.1
        final[x][y][1] = a + shift_a
        final[x][y][2] = b + shift_b

final = cv.cvtColor(final, cv.COLOR_LAB2BGR)
final = np.hstack((res, final))
show(final)
saveimg(final)

我得到了结果

而不是

我哪里错了?

【问题讨论】:

cv.imread() 是否默认为 BGR?我曾假设它使用 RGB,但我现在找不到文档。这可能是问题吗? ...NVM 找到了文档,默认使用 BGR。 @norok 它在docs.opencv.org/3.0-beta/modules/imgcodecs/doc/… 中说,“在彩色图像的情况下,解码后的图像将具有以 B G R 顺序存储的通道。” 【参考方案1】:

在 8 位色深的情况下,您正在实施的文档不知道 LAB definition 的 CV 内部约定。

特别是:

L: L / 100 * 255
A: A + 128
B: B + 128

我相信这样做是为了提高准确性,因为这样可以完全使用 unsigned int8 精度来获得亮度,同时为整个数组保持一致的无符号数据类型。

下面的代码,改编自你的应该可以工作。 请注意,这里和那里都有一些小修复(EDIT 包括将有趣的代码包装在一个函数中),但实际的 sauce 位于嵌套的 for 循环中。

from __future__ import (
    division, absolute_import, print_function, unicode_literals)

import cv2 as cv
import numpy as np


def show(final):
    print('display')
    cv.imshow('Temple', final)
    cv.waitKey(0)
    cv.destroyAllWindows()

# Insert any filename with path
img = cv.imread('grayworld_assumption_0.png')

def white_balance_loops(img):
    result = cv.cvtColor(img, cv.COLOR_BGR2LAB)
    avg_a = np.average(result[:, :, 1])
    avg_b = np.average(result[:, :, 2])
    for x in range(result.shape[0]):
        for y in range(result.shape[1]):
            l, a, b = result[x, y, :]
            # fix for CV correction
            l *= 100 / 255.0
            result[x, y, 1] = a - ((avg_a - 128) * (l / 100.0) * 1.1)
            result[x, y, 2] = b - ((avg_b - 128) * (l / 100.0) * 1.1)
    result = cv.cvtColor(result, cv.COLOR_LAB2BGR)
    return result

final = np.hstack((img, white_balance_loops(img)))
show(final)
cv.imwrite('result.jpg', final)

编辑:

同样的结果,但通过避免循环可以获得更快的性能:

def white_balance(img):
    result = cv.cvtColor(img, cv.COLOR_BGR2LAB)
    avg_a = np.average(result[:, :, 1])
    avg_b = np.average(result[:, :, 2])
    result[:, :, 1] = result[:, :, 1] - ((avg_a - 128) * (result[:, :, 0] / 255.0) * 1.1)
    result[:, :, 2] = result[:, :, 2] - ((avg_b - 128) * (result[:, :, 0] / 255.0) * 1.1)
    result = cv.cvtColor(result, cv.COLOR_LAB2BGR)
    return result

这显然给出了相同的结果:

print(np.all(white_balance(img) == white_balance_loops(img)))
True

但时间非常不同:

%timeit white_balance(img)
100 loops, best of 3: 2 ms per loop

%timeit white_balance_loops(img)
1 loop, best of 3: 529 ms per loop

【讨论】:

你能帮忙用 C++ 编写这些代码吗? 只问你自己的 C++ 问题可能更简单......不过,如果你愿意,你可以参考这个问题。该代码将类似于非矢量化代码。

以上是关于假设世界没有钱会怎么样?的主要内容,如果未能解决你的问题,请参考以下文章

数据统治世界----37%原则

我的世界一键生成怎么取消

相机标定误差怎么计算

我的世界手机版怎么转移坐标,

魔兽世界 宏怎么做

我的世界手机版怎么查看xyz