我正在尝试使用奇异值分解来压缩给定的图像.我以为我有它,直到我注意到我在整个过程中不断出现垃圾色像素.

右上角显示的数字表示迭代次数,其中0是原始图像.
这是一个常见错误吗?有什么我想念的吗?
我认为它可能与我的数学本身有关.我正在使用JAMA,一个java矩阵包,它为我处理这个.下面是我每次迭代的实现:
for (int i = 0; i < k; i++) {
Matrix step = (uColumns[i].times(sValues[i])).times(vColumns[i].transpose());
encoded = encoded.plus(step);
}
Run Code Online (Sandbox Code Playgroud)
基本上我正在做(或尝试做)是:
M = M + (s1*u1*v1^t)
Run Code Online (Sandbox Code Playgroud)
我的实现是否有明显错误,或者错误可能是由于JAMA执行SVD的方式?根据我的测试,矩阵U和V中的值的符号在某些行中与Wolframalpha或Matlab生成的符号不同.
任何帮助表示赞赏.
谢谢,
瑞斯蒂昂
因此,我最初克隆了一个 repo,认为我不会进行更改,并最终决定分叉我自己的副本供个人使用(这是一个 dotfiles repo)。如果我想从分叉继续更改,将本地提交从原始克隆复制到分叉存储库的最干净方法是什么?
环顾四周,在这里找不到我想要的东西。
澄清:
我的计算机上现在有两个存储库,一个是原始存储库的克隆,另一个是来自同一个存储库的分叉。我对克隆进行了更改,但希望将这些本地提交转移到分叉上。
System.out.println();我只是想知道当我使用批处理文件运行程序时是否有一种方法或其他方法可以创建一个很酷的加载栏。
这里真正的问题是如何使这个栏看起来好像只打印在一行上。
我不希望它分布在多行上,如下所示:
[aaaaaccccccccccccccc] 25%
[aaaaaaaaaacccccccccc] 50%
[aaaaaaaaaaaaaaaccccc] 75%
Run Code Online (Sandbox Code Playgroud)
保持干净的位置会让事情变得更干净、更友好。
非常感谢,
查士丁
编辑:
好的。我设法在这里找到这个链接:How to animate the command line? ,但答案是:
在 Java 中是否有更好的方法来做到这一点?
编辑:
这就是我最终的结果:
static final int PROGRESSBAR_LENGTH = 20;
public static void drawProgressBar(int numerator, int denominator) {
int percent = (int) (((double) numerator / (double) denominator) * 100);
String bar = "[";
int lines = round((PROGRESSBAR_LENGTH * numerator) / denominator);
int blanks = PROGRESSBAR_LENGTH - lines;
for (int i = 0; i …Run Code Online (Sandbox Code Playgroud) 我们正在尝试建立一个使用MySQL而不是SQLAlchemy的Pyramid项目.
我对Pyramid/Python的体验有限,所以我希望能在网上找到一个指南.不幸的是,我无法找到任何东西来推动我们朝着正确的方向发展.大多数搜索结果是针对尝试使用SQLAlchemy的原始SQL/MySQL命令的人(许多是重新发布的链接).
任何人都有一个有用的教程吗?
我之前在Eclipse中处理过这样的错误,但我不知道为什么我这次会得到它.我在Build Path和我的"lib"文件夹中都有Apache Commons IO库.
我已经给出了以下错误.这很简单.
[javac] Compiling 3 source files to C:\Users\Justian\workspaces\ConnectionCompiler\build
[javac] C:\Users\Justian\workspaces\ConnectionCompiler\src\jab\jm\readers\ExcelReader.java:5: package org.apache.commons.io does not exist
[javac] import org.apache.commons.io.FileUtils;
[javac] ^
[javac] C:\Users\Justian\workspaces\ConnectionCompiler\src\jab\jm\readers\FileManager.java:5: package org.apache.commons.io does not exist
[javac] import org.apache.commons.io.FileUtils;
[javac] ^
[javac] C:\Users\Justian\workspaces\ConnectionCompiler\src\jab\jm\readers\FileManager.java:12: cannot find symbol
[javac] symbol : variable FileUtils
[javac] location: class jab.jm.readers.FileManager
[javac] return FileUtils.convertFileCollectionToFileArray(FileUtils.listFiles(
[javac] ^
[javac] C:\Users\Justian\workspaces\ConnectionCompiler\src\jab\jm\readers\FileManager.java:12: cannot find symbol
[javac] symbol : variable FileUtils
[javac] location: class jab.jm.readers.FileManager
[javac] return FileUtils.convertFileCollectionToFileArray(FileUtils.listFiles(
[javac] ^
[javac] 4 errors
Run Code Online (Sandbox Code Playgroud)
为什么不能导入课程?甚至建议我使用Eclipse的自动更正添加特定的一个.
非常感谢!
瑞斯蒂昂 …
即使我使用 Python 工作这么久,我仍然偶尔会遇到包结构的问题。
我试图$ pipenv run pytest从下面的目录结构的根目录运行(即..上面的 src/)
src/
physics/
__init__.py
pathing.py
road/
tests/
__init__.py
test_traffic.py
__init__.py
traffic.py
__init__.py
main.py
Run Code Online (Sandbox Code Playgroud)
交通.py:
from physics import pathing
class Intersection():
...
class Vehicle():
...
Run Code Online (Sandbox Code Playgroud)
测试流量.py
from src.road.traffic import Intersection, Vehicle
def test_intersection():
...
Run Code Online (Sandbox Code Playgroud)
然而,我受到以下打击:
======================================================================= ERRORS ========================================================================
___________________________________________________ ERROR collecting src/road/tests/test_traffic.py ___________________________________________________
ImportError while importing test module '/Users/justian/scripts/py-traffic-sim/src/road/tests/test_traffic.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
src/road/tests/test_traffic.py:1: in <module>
from src.road.traffic import Intersection, Vehicle
src/road/traffic.py:13: in …Run Code Online (Sandbox Code Playgroud) 我有一个根级config类,我通过依赖注入在我的代码库中传递它。
问题是,我有这个数据类,需要此配置中的一些属性来world_coords计算__post_init__().
为了保持测试干净并避免其他测试导入问题(此处未讨论),我希望能够将配置直接传递给此对象,而不是从导入中读取这些值。然而,如果我将配置构建为参数,它就会成为数据类的一个属性,这是我试图避免的。实际上不需要RoadSegmentNode保留使用过的配置的引用。
这是该类的基本结构:
@dataclass(eq=True, frozen=True) # make hashable
class RoadSegmentNode:
tile_index: Tuple[int, int] # (r, c)
dir: Direction
node_type: RoadNodeType
world_coords: Tuple[int, int] = field(init=False)
def __post_init__(self):
# (Use config variables here, e.g. `config.TILE_WIDTH`, to calculate x and y)
# Hack to get around frozen=True. We don't care that we're mutating
# an "immutable" object on __init__().
object.__setattr__(self, "world_coords", (x, y))
Run Code Online (Sandbox Code Playgroud)
这是我为了保持依赖注入模型而采取的权宜之计,以暂时解除我的测试障碍。请注意RoadSegmentNode现在有一堆仅用于初始化的新属性。这比保留对配置的引用要好一点,因为至少它们是明确的,但它仍然是一个相当糟糕的设计。
@dataclass(eq=True, frozen=True) # make hashable
class RoadSegmentNode: …Run Code Online (Sandbox Code Playgroud) 我在Eclipse中编译并运行我的程序,一切正常,但是当我用Ant打包并运行它时,我收到此错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/supercsv/io/ICsvB
eanReader
Caused by: java.lang.ClassNotFoundException: org.supercsv.io.ICsvBeanReader
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: jab.jm.main.Test. Program will exit.
Run Code Online (Sandbox Code Playgroud)
请注意,这是运行时错误,而不是Ant 的编译器错误.
我在过去用0个问题构建了这个项目,现在当我向lib文件夹中添加第二个包时,它突然出现了吗?
这是构建文件供参考:
<?xml version="1.0" ?>
<project name="ServerJar" default="dist" basedir=".">
<description>
Builds client files into .jar
</description>
<!-- [build variables] -->
<property name="src" location="src" />
<property name="build" location="build" />
<property name="dist" location="dist" /> …Run Code Online (Sandbox Code Playgroud) 我在Java程序中添加了一个加载栏功能,我想知道是否可以设置需要完成的进程列表,以便知道需要完成多少个进程.
例如,将它们保存为字符串?
ArrayList<String> processes = new ArrayList<String>();
processes.add("CSVWriter.createFileOfCompany(\"Random Company\");");
processes.add("FileConverter.convertCSVToXLS(classPath +
\"/Output/Random_Company.csv\");");
for (int i = 0; i < processes.size(); i++) {
// run process
// update loading bar
}
Run Code Online (Sandbox Code Playgroud)
这些不是我的程序的真正方法,但它们与我想要完成的非常相似.
我确定这不是最好的方法,但是我想有一些方法来创建这样的列表,所以我知道在运行之前有多少个进程.我有一个系统设置来进一步分解这些过程并显示它们的进度,所以此栏目非常精确,但我必须对每个进程编号= /.
也许我只是错过了重点.创建进度条对我来说是全新的.
如果有关于进度条创建的任何好文章,也可以随意发送给我.请记住,我没有使用基于摆动的实际GUI.这个栏是所有SOP文本.
非常感谢,
Justian Meyer
看起来我在谷歌浏览器中的样式并不像我想要的那样(链接).它在Internet Explorer 8上运行正常.
这是样式表:
@charset "utf-8";
/* Stylesheet for Northview Game Tickets */
#mainwrapper {
width:18cm;
height:25cm;
background-color:#0F0;
}
#title {
width:680px;
height:117px;
/*background-image:url(http://nhswag.com/tickets/images/title.png);*/
background-color:#183f61;
}
#title-img {
width:680px;
height:117px;
}
#sportimage {
width:680px;
height:302px;
background-image:url(http://nhswag.com/tickets/images/sportimg.png);
}
#instructionstitle {
width:340px;
height:57px;
float:left;
padding-top:15px;
/*background-color:#353435;*/
background-color:#183f61;
vertical-align:text-bottom;
color:#FFFFFF;
}
#instructions {
width:340px;
height:416px;
float:left;
text-align:left;
padding-top:15px;
/*background-color:#8B8B8B;*/
/*background-color:#003;*/
background-color:#F2EEEA;
}
#ticketinfo {
width:170px;
height:189px;
float:right;
text-align:left;
padding-top: 15px;
padding-left: 15px;
/*background-color:#767676;*//*#633;*/
background-color:#d9d5d2;
}
#barcodewrapper {
width:170px;
height:189px;
float:right;
padding-top:44px; …Run Code Online (Sandbox Code Playgroud)